WO2011037420A2 - 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 - Google Patents

인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
WO2011037420A2
WO2011037420A2 PCT/KR2010/006518 KR2010006518W WO2011037420A2 WO 2011037420 A2 WO2011037420 A2 WO 2011037420A2 KR 2010006518 W KR2010006518 W KR 2010006518W WO 2011037420 A2 WO2011037420 A2 WO 2011037420A2
Authority
WO
WIPO (PCT)
Prior art keywords
block
current block
current
prediction
compensation coefficient
Prior art date
Application number
PCT/KR2010/006518
Other languages
English (en)
French (fr)
Other versions
WO2011037420A3 (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
Priority claimed from KR20090091047A external-priority patent/KR101479123B1/ko
Priority claimed from KR1020090099501A external-priority patent/KR101432767B1/ko
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to US13/497,928 priority Critical patent/US9571851B2/en
Publication of WO2011037420A2 publication Critical patent/WO2011037420A2/ko
Publication of WO2011037420A3 publication Critical patent/WO2011037420A3/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Definitions

  • the present invention relates to an inter prediction method and apparatus using adjacent pixels and an image encoding method and apparatus using the same. More particularly, the present invention relates to a method and apparatus for improving prediction accuracy by minimizing a difference between a current block and a prediction block in inter prediction encoding of an image.
  • Moving Picture Experts Group (MPEG) and Video Coding Experts Group (VCEG) have developed video compression techniques that are superior and superior to the existing MPEG-4 Part 2 and H.263 standards.
  • the new standard is called H.264 / AVC (Advanced video Coding) and co-published as MPEG-4 Part 10 AVC and ITU-T Recommendation H.264.
  • inter prediction is a method of compressing an image by removing temporal redundancy between frames of an image.
  • the inter prediction is performed by using one or more reference frames (hereinafter, referred to as a current block).
  • the motion is estimated in units of blocks, and a predicted block of the current block is generated based on the result of the motion estimation to compensate for the motion.
  • a predetermined evaluation function is used to search for a block most similar to the current block in a predetermined search range of a reference frame.
  • the compression rate of the data is increased by generating a prediction block using the block and encoding and transmitting only a residual signal that is a difference between pixel signals of the current block and the prediction block.
  • the present invention has a main object to improve compression efficiency by reducing the difference between a block to be encoded and a prediction block when inter prediction encoding an image.
  • a first embodiment of the present invention provides an inter prediction method for predictive encoding, comprising: estimating a motion of a current block to determine a current motion vector; Generating a reference block indicated by the current motion vector; Calculating a motion compensation coefficient by using the current block neighbor pixel and the reference block neighbor pixel; Generating a modified reference block by applying a motion compensation coefficient to the reference block; And determining the modified reference block as the prediction block of the current block.
  • an inter prediction apparatus for predictive encoding comprising: a motion estimator for estimating a motion of a current block to determine a current motion vector; A motion compensation coefficient calculator which calculates a motion compensation coefficient using reference block adjacent pixels and current block adjacent pixels of the reference block indicated by the current motion vector; And a motion compensator configured to reflect the motion compensation coefficient to the reference block to generate the current block as the changed reference block, and to determine the modified reference block as the predictive block.
  • a motion calculated by using a current block neighbor pixel and a reference block neighbor pixel in a reference block indicated by a current motion vector a motion calculated by using a current block neighbor pixel and a reference block neighbor pixel in a reference block indicated by a current motion vector.
  • Generating a modified reference block reflecting the compensation coefficient as a prediction block of the current block Generating a residual block by subtracting the current block and the prediction block; And encoding the residual block to generate encoded data.
  • an apparatus for encoding an image a motion calculated by using a current block neighbor pixel and a reference block neighbor pixel in a reference block indicated by a current motion vector.
  • a predictor for generating a modified reference block reflecting the compensation coefficients as a prediction block of the current block A subtractor for generating a residual block by subtracting the current block and the prediction block;
  • an encoder for encoding the residual block to generate encoded data.
  • an inter prediction method for predictive decoding comprising: generating a reference block indicated by a current motion vector reconstructed by decoding encoded data; Calculating a motion compensation coefficient by using the current block neighbor pixel and the reference block neighbor pixel; Generating a modified reference block by applying a motion compensation coefficient to the reference block; And determining the modified reference block as the prediction block of the current block.
  • a reference block indicated by a current motion vector decoded by decoding coded data is generated, and the current block is adjacent to the current block.
  • a motion compensation coefficient calculator which calculates a motion compensation coefficient using the pixel and the adjacent pixel of the reference block;
  • a motion compensator for generating the modified reference block by reflecting the motion compensation coefficients in the reference block and determining the modified reference block as the prediction block of the current block.
  • a method of decoding an image comprising: restoring a current motion vector and a residual block by decoding encoded data; Generating a modified reference block reflecting a motion compensation coefficient calculated using a current block neighbor pixel and a reference block neighbor pixel in a reference block indicated by the restored current motion vector as a prediction block of the current block; And reconstructing the current block by adding the reconstructed residual block and the prediction block.
  • an apparatus for decoding an image comprising: a decoder for decoding encoded data to reconstruct a current motion vector and a residual block; A predictor for generating a modified reference block reflecting a motion compensation coefficient calculated by using a current block neighbor pixel and a reference block neighbor pixel in a reference block indicated by the current motion vector to be restored as a prediction block of the current block; And an adder for reconstructing the current block by adding the reconstructed residual block and the predictive block.
  • a second embodiment of the present invention provides an inter prediction method for predictive encoding, comprising: estimating motion of a current block to determine motion information of the current block; Generating a reference block indicated by motion information of the current block; Calculating an average compensation coefficient using a current block neighbor pixel and a reference block neighbor pixel selected based on the motion information of the current block and the motion information of neighboring blocks of the current block; Generating a modified reference block by applying an average compensation coefficient to the reference block; And determining the modified reference block as the prediction block of the current block.
  • an inter prediction apparatus for predictive encoding comprising: a motion estimator for estimating motion of a current block to determine motion information of a current block; A reference block indicated by the motion information of the current block is generated, and an average compensation coefficient is obtained by using the current block neighboring pixel and the reference block neighboring pixel selected based on the motion information of the current block and the motion information of the neighboring block of the current block.
  • An average compensation factor calculator for calculating;
  • a motion compensator for generating a modified reference block by reflecting an average compensation coefficient in the reference block and determining the modified reference block as a prediction block of the current block.
  • the motion information of the current block and the motion of the neighboring blocks of the current block are referred to the reference block indicated by the motion information of the current block.
  • the motion information of the current block and the motion of the neighboring blocks of the current block are referred to the reference block indicated by the motion information of the current block.
  • an inter prediction method for predictive decoding comprising: generating a reference block indicated by motion information of a current block to be decoded and decoded; Calculating an average compensation coefficient using a current block neighbor pixel and a reference block neighbor pixel selected based on the motion information of the current block to be restored and motion information of neighboring blocks of the current block; Generating a modified reference block by applying an average compensation coefficient to the reference block; And determining the modified reference block as the prediction block of the current block.
  • a reference block indicated by motion information of a current block to be decoded and decoded is generated and reconstructed.
  • An average compensation coefficient calculator configured to calculate an average compensation coefficient by using the current block neighboring pixel and the reference block neighboring pixel selected based on the motion information of the current block and the motion information of the neighboring block of the current block;
  • a motion compensator for generating a modified reference block by reflecting an average compensation coefficient in the reference block and determining the modified reference block as a prediction block of the current block.
  • a method of decoding an image comprising: restoring motion information and a residual block of a current block by decoding encoded data; An average calculated using a current block neighbor pixel and a reference block neighbor pixel selected based on the motion information of the current block restored to the reference block indicated by the motion information of the current block to be restored and the motion information of the neighboring blocks of the current block Generating a modified reference block reflecting the compensation coefficient as a prediction block of the current block; And reconstructing the current block by adding the reconstructed residual block and the prediction block.
  • an apparatus for decoding an image comprising: a decoder for decoding encoded data to reconstruct motion information and residual blocks of a current block; An average calculated using a current block neighbor pixel and a reference block neighbor pixel selected based on the motion information of the current block restored to the reference block indicated by the motion information of the current block to be restored and the motion information of the neighboring blocks of the current block A predictor for generating a modified reference block reflecting the compensation coefficients as a prediction block of the current block; And an adder for reconstructing the current block by adding the reconstructed residual block and the predictive block.
  • the compression efficiency can be improved by reducing the difference between the actual block and the predicted block.
  • FIG. 1 is a block diagram schematically illustrating a configuration of a video encoding apparatus according to a first embodiment of the present invention
  • FIG. 2 is a block diagram schematically illustrating an inter prediction apparatus for prediction encoding according to a first embodiment of the present invention
  • FIG. 3 is an exemplary diagram showing adjacent pixels for calculating a motion compensation coefficient according to the first embodiment of the present invention
  • FIG. 4 is an exemplary diagram for describing adjacent pixels for each inter prediction mode according to the first embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating an example of an inter prediction method for predictive encoding according to the first embodiment of the present invention
  • FIG. 6 is a flowchart illustrating another example of an inter prediction method for predictive encoding according to the first embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a video encoding method according to a first embodiment of the present invention.
  • FIG. 8 is a block diagram schematically illustrating an image decoding apparatus according to a first embodiment of the present invention.
  • FIG. 9 is a block diagram schematically illustrating an inter prediction apparatus for predictive decoding according to a first embodiment of the present invention.
  • FIG. 10 is a flowchart for explaining an example of an inter prediction method for predictive decoding according to the first embodiment of the present invention
  • FIG. 11 is a flowchart illustrating another example of an inter prediction method for predictive decoding according to the first embodiment of the present invention.
  • FIG. 12 is a flowchart illustrating an image decoding method according to a first embodiment of the present invention
  • FIG. 13 is a block diagram schematically illustrating a configuration of a video encoding apparatus according to a second embodiment of the present invention.
  • FIG. 14 is a block diagram schematically illustrating an inter prediction apparatus for prediction encoding according to a second embodiment of the present invention.
  • 15 is an exemplary diagram showing adjacent pixels for calculating an average compensation coefficient according to a second embodiment of the present invention.
  • 16 is an exemplary diagram illustrating neighboring blocks of a current block, a neighboring block of a reference block, and corresponding neighboring pixels, which are selected to calculate an average compensation coefficient according to a second embodiment of the present invention
  • 17 is a flowchart illustrating an inter prediction method for predictive encoding according to a second embodiment of the present invention.
  • FIG. 18 is a flowchart illustrating a video encoding method according to a second embodiment of the present invention.
  • FIG. 19 is a block diagram schematically illustrating an image decoding apparatus according to a second embodiment of the present invention.
  • 20 is a block diagram schematically illustrating an inter prediction apparatus for predictive decoding according to a second embodiment of the present invention.
  • 21 is a flowchart illustrating an inter prediction method for predictive decoding according to a second embodiment of the present invention.
  • FIG. 22 is a flowchart illustrating an image decoding method according to a second embodiment of the present invention.
  • a video encoding apparatus (Video Encoding Apparatus), a video decoding apparatus (Video Decoding Apparatus) or an inter prediction apparatus (Inter Prediction Apparatus) to be described below is a personal computer (PC), a TV, a notebook computer, a personal digital assistant (PDA) : User terminal such as Personal Digital Assistant (PMP), Portable Multimedia Player (PMP), PlayStation Portable (PSP: PlayStation Portable), Mobile Communication Terminal (Mobile Communication Terminal) or server computer, etc., various devices or wired or wireless
  • PDA personal digital assistant
  • PDA Personal Digital Assistant
  • PMP Portable Multimedia Player
  • PSP PlayStation Portable
  • Mobile Communication Terminal Mobile Communication Terminal
  • a communication device such as a communication modem for communicating with a communication network, various programs for performing inter prediction or encoding or decoding images using the same, a memory for storing data, and a microprocessor for executing and controlling programs. Means a variety of devices having a back.
  • the video encoded in the bitstream by the video encoding apparatus is real-time or non-real-time through the wired / wireless communication network such as the Internet, a local area wireless communication network, a wireless LAN network, a WiBro network, a mobile communication network, or a cable, a universal serial bus (USB: Universal Serial Bus).
  • the image decoding apparatus may be transmitted to the image decoding apparatus through a communication interface such as), and may be decoded by the image decoding apparatus to restore and reproduce the image.
  • image encoding apparatus and the image decoding apparatus may be provided with functions for performing intra prediction as well as inter prediction using motion estimation and motion compensation, since there is no direct relationship with the embodiment of the present invention, detailed information is provided to prevent confusion. Omit the description.
  • a moving picture is composed of a series of pictures, and each picture is divided into blocks.
  • Each block is largely classified into an intra block and an inter block according to an encoding method.
  • An intra block refers to a block that is encoded by using an intra prediction coding method.
  • An intra prediction coding is performed by using pixels of blocks that are previously encoded, decoded, and reconstructed in a current picture that performs current encoding.
  • a prediction block is generated by predicting pixels of a block, and a difference value with pixels of the current block is encoded.
  • An inter block refers to a block that is encoded using inter prediction coding.
  • Inter prediction coding generates a prediction block by predicting a current block within a current picture by referring to one or more past or future pictures, and then generates a current block. This is a method of encoding a difference value with.
  • a picture referred to for encoding or decoding the current picture is referred to as a reference picture.
  • a prediction block having the same size as the current block is generated, and residual blocks are generated by subtracting pixel values at the same position from the current block and the prediction block.
  • the residual block may be represented by Equation 1.
  • Equation 1 original represents a current block
  • reference represents a prediction block generated by performing motion compensation
  • residual represents a residual block generated by subtracting the prediction block from the current block.
  • i and j represent pixel positions of each block.
  • H.264 uses inter prediction encoding
  • the compression efficiency can be improved when compared with other prediction method encoding methods that do not use inter prediction encoding.
  • the conventional inter prediction coding such as H.264
  • a residual block is generated using only pixels of the current block and the prediction block, when a view or lighting change occurs in the reference picture and the current picture that generate the prediction block.
  • Efficient predictive coding cannot be performed. For example, if the brightness is darkened or brightened locally in the area including the current block, the motion compensation reflecting the change in brightness cannot be performed if the inter prediction is performed by performing the motion compensation as in the conventional method, and the residual block is generated. Since the value of the residual block becomes relatively large, efficient predictive encoding becomes difficult.
  • the characteristics of the block are made by using the current block adjacent pixel and the prediction block adjacent pixel.
  • Inter prediction encoding is performed by performing the reflected motion compensation.
  • the characteristic of the block may be a local illumination change or a viewpoint change.
  • the motion of the current block is compensated more accurately by using the current block neighbor pixels and the reference block neighbor pixels to increase the accuracy of prediction. Thereby, the compression efficiency can be improved.
  • Each picture of the input video to be encoded may be input in units of macroblocks.
  • the macro block is in the form of M ⁇ N, M and N may have a size of 2 n and M and N may be the same. Therefore, the macroblocks according to the first and second embodiments of the present invention may be equal to or larger than the macroblocks of H.264.
  • FIG. 1 is a block diagram schematically illustrating a configuration of an image encoding apparatus according to a first embodiment of the present invention.
  • the image encoding apparatus 100 is an apparatus for encoding an image, and includes a predictor 110, a subtracter 130, a transformer and a quantizer 130, and an encoder.
  • the encoder may include an encoder 140, an inverse quantizer and an inverse transformer 150, an adder 160, and a reference picture memory 170.
  • the predictor 110 inter-predicts a block to be coded (for example, a macroblock or a subblock, hereinafter referred to as a current block) to generate a predicted block. That is, the predictor 110 generates a motion vector by estimating the motion of the current block according to the inter prediction mode in the previous picture that has been previously encoded and decoded, and then uses the motion vector.
  • the prediction block is generated by compensating for the motion of the current block.
  • the predictor 110 when the predictor 110 generates a prediction block by compensating for the motion of the current block, the neighboring pixel of the current block (hereinafter referred to as 'Current Block Adjacent Pixel') and the neighboring pixel of the reference block (
  • the prediction block may be generated using a reference block adjacent pixel, that is, the predictor 110 estimates the motion of the current block and determines the motion vector of the current block.
  • Changed reference block reflects a motion compensation coefficient calculated by using the current block adjacent pixel and the reference block adjacent pixel in the reference block indicated by the current motion vector. Block), and a change reference block may be generated as a prediction block of the current block.
  • the predictor 110 may determine a more efficient block among the reference block and the changed reference block as the prediction block of the current block. That is, the predictor 110 uses a method such as rate-distortion optimization or analyzes characteristics of adjacent pixels to determine the use of the motion compensation coefficient, and selects a block to be used as the prediction block of the current block among the reference block and the changed reference block. You can decide.
  • the predictor 110 will be described in detail later with reference to FIG. 2.
  • the subtractor 120 subtracts the prediction block from the current block to generate a residual block. That is, the subtractor 130 subtracts the pixel value of the current block and the pixel value of the prediction block generated by the predictor 110 to generate a residual block having a residual signal.
  • the transformer and quantizer 130 converts and quantizes the residual block generated in the subtractor 120 into the frequency domain. That is, the transformer and quantizer 130 converts the residual signal of the residual block generated by the subtractor 130 into a frequency domain to generate a transformed residual block having a transform coefficient and transforms the transformed residual block. Coefficients are quantized to produce quantized residual blocks.
  • a transform method used a method of transforming an image signal in a spatial domain into a frequency domain such as a Hadamard transform and a discrete cosine transform based integer transform is used.
  • various quantization techniques such as Dead Zone Uniform Threshold Quantization (DZUTQ) or quantization weighted matrix (Quantization Weighted Matrix) may be used.
  • the encoder 140 generates encoded data by encoding the quantized transform coefficients of the residual block transformed and quantized by the transformer and the quantizer 130.
  • an entropy encoding technique may be used, but various encoding techniques may be used without being limited thereto.
  • the encoder 140 may include not only a bit string encoding the quantized transform coefficients, but also various pieces of information necessary to decode the encoded bit string in the encoded data. That is, the coded data may include a first field including a coded block pattern (CBP), a delta quantization parameter, and a bit string in which the quantized transform coefficients are encoded, and information necessary for prediction (eg, , An intra prediction mode in the case of intra prediction, or a motion vector in the case of inter prediction, etc.).
  • CBP coded block pattern
  • delta quantization parameter e.g., a bit string in which the quantized transform coefficients are encoded
  • information necessary for prediction eg, An intra prediction mode in the case of intra prediction, or a motion vector in the case of inter prediction, etc.
  • the encoder 140 may include motion compensation coefficient usage information indicating that the motion compensation coefficient is used in the encoded data.
  • motion compensation coefficient usage information does not necessarily need to be included in the encoded data, and may be included or included in the encoded data according to whether a change reference block reflecting the motion compensation coefficient is determined as a prediction block of the current block using a certain condition. It may not be. This will be described in detail with reference to FIG. 2 in the following process.
  • the functions of the converter and the quantizer 130 may be integrated into the encoder 140 and implemented. That is, when implemented with one encoder, the encoder generates encoded data by encoding the residual block.
  • Inverse quantizer and inverse transformer 150 inverse quantizes and inverse transforms the residual block transformed and quantized by transformer and quantizer 130 to restore the residual block. That is, the inverse quantizer and inverse transformer 150 inverse quantizes the quantized residual block transmitted from the transformer and the quantizer 130, restores the residual block having the transform coefficient, and inverse transforms the residual block having the transform coefficient again. To restore the residual block with the residual signal.
  • the adder 160 reconstructs the current block by adding the prediction block generated by the predictor 110 and the residual block reconstructed by the inverse quantizer and the inverse transformer 150.
  • the reference picture memory 170 accumulates the current block reconstructed by the adder 160 in picture units and stores the current block as a reference picture, and the stored reference picture is used when the predictor 110 predicts the next block or the next picture.
  • the image encoding apparatus 100 may include an intra predictor for intra prediction and a deblocking filtering of the reconstructed current block.
  • Blocking filter may be further included.
  • transformer and quantizer 130 and inverse quantizer and inverse transformer 150 may further perform transform and quantization (or inverse transform and inverse quantization) operations on a particular picture (eg, an intra picture).
  • the deblocking filtering refers to an operation of reducing block distortion generated by encoding an image in block units, and applying a deblocking filter to a block boundary and a macroblock boundary, or applying a deblocking filter only to a macroblock boundary or a deblocking filter. You can optionally use one of the methods that does not use.
  • FIG. 2 is a block diagram schematically illustrating an inter prediction apparatus for predictive encoding according to a first embodiment of the present invention.
  • the inter prediction apparatus for predictive encoding may be implemented as the predictor 110 in the image encoding apparatus 100 according to the embodiment of the present invention described above with reference to FIG. For convenience of description, the predictor 110 is called.
  • the predictor 110 may include a motion estimator 210, a motion compensation coefficient calculator 220, and a motion compensator 230.
  • the motion estimator 210 estimates the motion of the current block to determine the current motion vector. That is, the motion estimator 210 estimates the motion of the current block by finding a position of a reference block having a minimum difference from the current block in a picture that is previously encoded, decoded, and reconstructed. In this case, interpolation may be performed between pixels to expand a picture.
  • the filter used for interpolation may be a fixed 6-tap filter or an adaptive interpolation filter optimized on a picture or block basis. Adaptive Interpolation Filter).
  • a vector indicating a reference block with a minimum difference from the current block is obtained as a motion vector of the current block, that is, a current motion vector.
  • the motion compensation coefficient calculator 220 calculates a motion compensation coefficient by using the reference block neighbor pixels and the current block neighbor pixels of the reference block indicated by the current motion vector. That is, the motion compensation coefficient calculator 220 calculates a motion compensation coefficient for more accurately compensating for the motion of the current block by using the current block adjacent pixel and the reference block adjacent pixel.
  • FIG 3 is an exemplary diagram showing adjacent pixels for calculating a motion compensation coefficient according to the first embodiment of the present invention.
  • the motion compensation coefficient may be calculated as a difference between an average of the current block adjacent pixel 350 and an average of the reference block adjacent pixel 330.
  • the current motion vector 310 can be obtained by estimating the motion of the current block 340 by finding a reference block 320 having a minimum difference from the current block 340 in the current picture.
  • the current block adjacent pixel 350 may be pixels adjacent to the current block 340
  • the reference block adjacent pixel 330 may be pixels adjacent to the reference block 320.
  • FIG 4 is an exemplary diagram for describing neighboring pixels for each inter prediction mode according to the first embodiment of the present invention.
  • FIG. 4 illustrates a case where the size of the macroblock is 16x16, for example, the macroblock may be applied similarly to FIG. 4 in other sized macroblocks.
  • both 16x8 sized subblocks include 16 neighboring pixels adjacent to the top of the current block and 8 adjacent pixels adjacent to the left of each subblock. It can be used as an adjacent pixel of.
  • both 8x16 sized subblocks include 16 adjacent pixels adjacent to the left side of the current block and 8 adjacent pixels above each subblock, adjacent pixels of the reference block and the current block. It can be used as an adjacent pixel of.
  • all 8x8 subblocks include eight adjacent pixels adjacent to the left of the current block and eight adjacent pixels above the current block as adjacent pixels of the reference block and adjacent pixels of the current block. Can be used.
  • both subblocks may refer to eight upper pixels and four left pixels.
  • the left subblock may refer to four upper pixels, eight left pixels, and the right subblock may refer to eight upper and left pixels, respectively.
  • all four subblocks may refer to four upper and left pixels, respectively.
  • adjacent pixels used for generating the motion compensation coefficients are not necessarily used as described above.
  • the adjacent pixels used according to the size of the transformation such as 4x4 or 8x8 may be changed into four or eight adjacent pixels adjacent to the upper side and four adjacent pixels adjacent to the left side.
  • the motion compensation coefficient may be generated with reference to two pixels, that is, the upper pixel 4x2 (8x2) and the left pixel 2x4 (2x8).
  • the motion compensation coefficient calculated by using the current block adjacent pixel and the reference block adjacent pixel may be calculated as a difference between the average of the current block adjacent pixel and the average of the reference block adjacent pixel as shown in Equation 2.
  • These current block neighbor pixels and reference block neighbor pixels are pixels that have been previously encoded, decoded, and reconstructed before encoding the current block.
  • m c represents an average of current block adjacent pixels
  • mc coeff represents a motion compensation coefficient
  • the motion compensator 230 reflects the motion compensation coefficient to the reference block to generate the current block as the modified reference block, and determines the modified reference block as the prediction block. That is, the motion compensator 230 determines one of the reference block indicated by the current motion vector obtained by the motion estimator 210 and the modified reference block generated by applying the motion compensation coefficient to the reference block as the prediction block of the current block. .
  • the motion compensator 230 may determine the modified reference block as the prediction block of the current block based on the encoding cost for the reference block and the encoding cost for the modified reference block. To this end, the motion compensator 230 calculates the encoding cost for the reference block and the encoding cost for the change reference block, and if the encoding cost for the reference block is greater than the encoding cost for the change reference block, It may be determined as the prediction block of the block, and if the encoding cost for the reference block is less than or equal to the encoding cost for the modified reference block, the reference block may be determined as the prediction block of the current block.
  • the encoding cost for the reference block refers to the encoding cost for predicting and encoding the current block by using the reference block as a prediction block of the current block
  • the encoding cost for the modified reference block is used to predict the current block for the modified reference block.
  • the encoding cost used to predict-code the current block by using the block As the encoding cost, a rate-distortion cost may be used, and the cost may not be limited thereto, and any cost may be used as long as it costs to inter-prediction the current block using a reference block or a modified reference block as a prediction block.
  • the motion compensator 230 may determine the change reference block as the prediction block of the current block based on the value of the motion compensation coefficient. To this end, the motion compensator 230 may determine the modified reference block as the prediction block of the current block when the motion compensation coefficient is not '0', and when the motion compensation coefficient is '0', the motion block is determined as the prediction block of the current block. It can be determined as a prediction block. If the motion compensation coefficient is '0', the change reference block reflecting the motion compensation coefficient is encoded using the prediction block of the current block, and the reference block not reflecting the motion compensation coefficient is encoded using the prediction block of the current block. This is because it is not necessary to use a motion compensation coefficient because the result of the case is the same.
  • the motion compensator 230 may determine the modified reference block as a prediction block of the current block.
  • the motion compensator may determine the reference block of the current block.
  • the preset range may be a range smaller than the upper limit threshold and larger than the lower limit threshold.
  • the upper limit threshold and the lower limit threshold may be one or more of the variance, standard deviation, and correlation coefficient of the current block adjacent pixel and the reference block adjacent pixel. Can be determined using. That is, as shown in Equation 3, the motion compensator 230 may determine the modified reference block as the prediction block of the current block only when the motion compensation coefficient is within a preset range.
  • Equation 3 mc coeff represents a motion compensation coefficient, Thd a represents a lower limit threshold, and Thd b represents an upper limit threshold.
  • the change reference block when the change reference block is determined as the prediction block of the current block based on the value of the motion compensation coefficient, whether the value of the motion compensation coefficient is '0' and whether the value of the motion compensation coefficient is within a preset range. Although it may be determined whether the modified reference block is the prediction block of the current block according to each of them, the two conditions may be combined to determine the changed reference block as the prediction block of the current block.
  • the change reference block is determined as the prediction block of the current block only when the value of the motion compensation coefficient is not '0' and is within a preset range, and the value of the motion compensation coefficient is' 0 'or the value of the motion compensation coefficient is' If it is not 0 'but outside the preset range, the reference block may be determined as the prediction block of the current block.
  • the motion compensator 230 calculates one or more of variance, standard deviation, and correlation coefficient of the current block adjacent pixel and the reference block adjacent pixel, and changes the changed reference block only if the calculated value satisfies a specific condition. If it is determined that the prediction block is or is not satisfied, the reference block may be determined as the prediction block of the current block.
  • the motion compensator 230 may generate a modified reference block by subtracting the motion compensation coefficient from each pixel of the reference block. That is, each pixel of the modified reference block has a difference value obtained by subtracting the motion compensation coefficient from the pixel value of each pixel of the reference block. In this case, since the difference value obtained by subtracting the motion compensation coefficient from the pixel value of each pixel may be out of the range of the value of the pixel, the motion compensator 230 subtracts the value of the motion compensation coefficient from each pixel of the reference block. You can create a change reference block by limiting it within the range of values represented.
  • the value that the pixel can have is one of 0 to 255. If one of each pixel of the reference block has a value of '1' and the motion compensation coefficient is calculated as '3', the corresponding pixel has a value of '-2' in the modified reference block so that the pixel is represented. Will be out of range. Therefore, in this case, the pixel value of the corresponding pixel of the change reference block is changed to have a value of '0' which has a minimum value among the values limited to one of 0 to 255.
  • the residual block may be calculated as shown in Equation 4.
  • Equation 4 original ij represents each pixel of the current block, referencek ij represents each pixel of the reference block, and residual ij represents each pixel of the residual block.
  • clip ( reference ij -mc coeff ) represents each pixel of the change reference block
  • clip () function indicates that the value of reference ij -mc coeff , which is each pixel of the change reference block, is a range of values (eg, For example, when the pixel value is represented by 8 bits, the minimum value and the maximum value are limited to have a value within 0 to 255).
  • the motion compensator 230 may further refine the current motion vector by further estimating the motion of the current block by applying the motion compensation coefficient. That is, the motion compensator 230 further performs motion estimation by applying a motion compensation coefficient to an arbitrary range (eg, ⁇ ⁇ pixel) around the pixel indicated by the current motion vector determined by the motion estimator 210. Therefore, the encoding efficiency can be further improved by performing more accurate prediction on the block (or macroblock) of the region where the local illumination change or the viewpoint change occurs.
  • the optimal motion vector obtained can be finally determined as the current motion vector.
  • may be appropriately set according to an implementation method or condition, and as ⁇ increases, encoding efficiency may increase.
  • the motion compensator 230 may determine whether to determine the modified reference block as the prediction block of the current block, not in block units but in frame units. To this end, the motion compensator 230 calculates the encoding cost for the case in which the current frame to be encoded using the motion compensation coefficient and the encoding cost for the case in which the motion frame is encoded without using the motion compensation coefficient are small. By encoding the current frame in a manner, it is possible to adaptively encode each frame. At this time, the motion compensation coefficient use information for identifying whether the motion compensation coefficient is encoded by applying each frame is further included in the encoded data.
  • the predictor 110 estimates the motion of the current block to determine the current motion vector, generates a reference block indicated by the current motion vector, and neighbors the current block adjacent to the reference block.
  • the motion compensation coefficient is calculated using the pixel
  • the change reference block is generated by reflecting the motion compensation coefficient on the reference block
  • the change reference block is determined as the prediction block of the current block.
  • the predictor 110 may determine the modified reference block as the prediction block of the current block based on the encoding cost for the reference block and the encoding cost for the modified reference block. To this end, the predictor 110 calculates the encoding cost for the reference block, calculates the encoding cost for the modified reference block, and if the encoding cost for the reference block is greater than the encoding cost for the modified reference block, the modified reference block Is determined as the prediction block of the current block, and when the encoding cost for the reference block is less than or equal to the encoding cost for the modified reference block, the reference block may be determined as the prediction block of the current block.
  • the predictor 110 may determine the change reference block as the prediction block of the current block based on the value of the motion compensation coefficient. To this end, the predictor 110 determines the change reference block as the prediction block of the current block when the motion compensation coefficient is not '0', and determines the reference block as the prediction block of the current block when the motion compensation coefficient is '0'. When the motion compensation coefficient is within the preset range, the modified reference block may be determined as the prediction block of the current block, and when the motion compensation coefficient is outside the preset range, the reference block may be determined as the prediction block of the current block.
  • the preset range is smaller than the upper limit threshold and larger than the lower limit threshold, and the upper and lower threshold values are determined by using one or more of the variance, standard deviation, and correlation coefficient of the current block adjacent pixel and the reference block adjacent pixel. Can be determined.
  • the predictor 110 may further adjust the current motion vector by further estimating the motion of the current block by applying the motion compensation coefficient.
  • the motion compensation coefficient may be a difference between an average of the current block neighboring pixels and an average of the reference block neighboring pixels, and the current block neighboring pixels and the reference block neighboring pixels may be pixels that have been previously encoded, decoded, and reconstructed before encoding the current block. have.
  • the predictor 110 may generate a modified reference block by subtracting the motion compensation coefficient from each pixel of the reference block.
  • the predictor 110 subtracts the motion compensation coefficient from each pixel of the reference block within a range in which the pixel is represented. Restriction can create change reference blocks.
  • FIG. 5 is a flowchart illustrating an example of an inter prediction method for predictive encoding according to the first embodiment of the present invention.
  • the predictor 110 may generate a prediction block by determining whether to perform motion compensation of the current block by applying a motion compensation coefficient based on an encoding cost.
  • the predictor 110 estimates the motion of the current block to determine a current motion vector (S510), generates a reference block indicated by the current motion vector (S520), and references the current block adjacent pixel.
  • the motion compensation coefficient is calculated using the block adjacent pixels (S530), the modified reference block is generated by reflecting the motion compensation coefficient (S540), the coding cost for the reference block is calculated (S550), and the coding for the changed reference block is performed. Calculate the cost (S560).
  • the predictor 110 determines whether the encoding cost for the reference block is greater than the encoding cost for the modified reference block (S870), and when the encoding cost for the reference block is greater than the encoding cost for the modified reference block, the predicted reference block Is determined as a prediction block (S580), and if the coding cost for the reference block is less than or equal to the coding cost for the modified reference block, the reference block may be determined as the prediction block.
  • FIG. 6 is a flowchart illustrating another example of an inter prediction method for predictive encoding according to the first embodiment of the present invention.
  • the inter prediction method for predictive encoding according to the first embodiment of the present invention described above may be implemented as shown in FIG. 6. That is, the predictor 110 may generate the prediction block by determining whether to perform motion compensation of the current block by applying the motion compensation coefficient based on the value of the motion compensation coefficient. Referring to FIG. 6, the predictor 110 estimates the motion of the current block to determine a current motion vector (S610), generates a reference block indicated by the current motion vector (S620), and references the current block adjacent pixel. The motion compensation coefficient is calculated using the block adjacent pixels (S630), a modified reference block reflecting the motion compensation coefficient is generated (S640), and it is determined whether or not the motion compensation coefficient is '0' (S650).
  • step S680 it is determined whether the motion compensation coefficient is within a preset range, that is, whether the motion compensation coefficient is greater than the lower limit threshold and less than the upper limit threshold (S660).
  • the determination result in step S650 is the motion compensation coefficient is '0' or the determination result in step S660 is outside the preset range of the motion compensation coefficient If, in step S680, the reference block is determined as a prediction block.
  • FIG. 6 illustrates and described that both steps S650 and S660 are performed, only one of steps S650 and S660 may be performed. That is, the predictor 110 does not necessarily determine the change reference block as the prediction block of the current block only when the value of the motion compensation coefficient is not '0' and is within a preset range, and the value of the motion compensation coefficient is '0'. Otherwise, the change reference block may be determined as the prediction block of the current block regardless of whether the change reference block is within the preset range. Likewise, if the value of the motion compensation coefficient is within the preset range, the change reference block is determined as the prediction block of the current block. Can be determined as
  • FIG. 7 is a flowchart illustrating a video encoding method according to a first embodiment of the present invention.
  • the image encoding apparatus 100 generates a modified reference block reflecting a motion compensation coefficient calculated by using the current block neighbor pixel and the reference block neighbor pixel in the reference block indicated by the current motion vector as a prediction block of the current block (S710).
  • the residual block is generated by subtracting the current block and the prediction block (S720), and the encoded data is generated by encoding the residual block.
  • the image encoding apparatus 100 may generate the modified reference block as a prediction block of the current block based on the encoding cost of the reference block and the encoding cost of the change reference block, and in this case, use a motion compensation coefficient.
  • the motion compensation coefficient usage information indicating a may be included in the encoded data. For example, when the encoding cost for the reference block is greater than the encoding cost for the change reference block, the image encoding apparatus 100 generates a motion reference coefficient as a prediction block of the current block.
  • the coefficient usage information for example, the flag '1'
  • the reference block is generated as the prediction block of the current block because the encoding cost for the reference block is less than or equal to the encoding cost for the modified reference block.
  • motion compensation coefficient usage information eg, a flag '0'
  • the image encoding apparatus 100 may generate a change reference block as a prediction block of the current block based on the value of the motion compensation coefficient, and in this case, the motion compensation coefficient usage information indicating that the motion compensation coefficient is used. If not generated or generated, it may not be included in the encoded data.
  • the motion decoding coefficient may be applied in the video decoding apparatus to be described later to apply the motion compensation coefficient even if the motion compensation coefficient usage information is not included in the encoded data. This is because it is possible to determine whether to compensate for the movement.
  • FIG. 8 is a block diagram schematically illustrating an image decoding apparatus according to a first embodiment of the present invention.
  • the image decoding apparatus 800 includes a decoder 810, an inverse quantizer and an inverse converter 820, a predictor 830, an adder 840, and a reference picture memory 850. Can be configured.
  • the decoder 810 decodes the encoded data to reconstruct the quantized residual block having the current motion vector and the quantized transform coefficients. That is, the decoder 810 decodes the encoded data to extract the quantization transform coefficient sequence, and inversely scans the quantization transform coefficient sequence by various inverse scanning methods such as inverse zigzag scan to restore the residual block having the quantization transform coefficients. In this case, the decoder 810 may extract and decode the residual block encoded in the first field included in the encoded data, extract information necessary for prediction from the second field included in the encoded data, or decode the extracted information.
  • the extracted information may be transferred to the predictor 830 so that the predictor 830 may predict the current block in the same manner as the predictor 110 of the image encoding apparatus 100. have.
  • the decoder 830 may extract the motion compensation coefficient usage information and transmit it to the predictor 830.
  • the inverse quantizer and inverse transformer 820 inverse quantizes the quantized residual block decoded and reconstructed by the decoder 810 to generate an inverse quantized residual block, and inversely transforms the inverse quantized residual block to have a residual signal. Restore the residual block.
  • the decoder 810, the inverse quantizer, and the inverse converter 820 are independently implemented and described, but the functions of the decoder 810, the inverse quantizer, and the inverse converter 820 are integrated. And may be implemented as one decoder. As such, when the decoder is implemented by integrating the functions of the decoder 810, the inverse quantizer, and the inverse transformer 820, the decoder may decode the encoded data to restore the current motion vector and the residual block. The motion compensation coefficient use information may be extracted from the encoded data.
  • the predictor 830 converts the changed reference block into the reference block indicated by the current motion vector decoded from the encoded data and reflects the motion compensation coefficient calculated by using the current block neighbor pixel and the reference block neighbor pixel. To create. That is, the predictor 830 generates a prediction block for the current block by using the information necessary for prediction, such as the current motion vector and motion compensation coefficient usage information, from the decoder 810. In this case, when the predictor 830 receives the motion compensation coefficient usage information from the decoder 610, the motion of the current block is compensated by applying the motion compensation coefficient based on the motion compensation coefficient usage information transmitted when the prediction block is generated. The prediction block may be generated by determining whether to do so. The predictor 830 will be described in detail later with reference to FIG. 9.
  • the adder 840 reconstructs the current block by adding the residual block reconstructed by the inverse quantizer and inverse transformer 820 and the predictive block generated by the predictor 830.
  • the current block reconstructed by the adder 840 may be transferred to the reference frame memory 850, accumulated in units of pictures in the reference frame memory 850, and stored as a reference picture, and the reference picture may be stored as another block in the predictor 830. Or it can be used to predict other frames.
  • the image decoding apparatus 800 further includes an intra predictor for intra prediction, a deblocking filter for deblocking filtering the reconstructed current block, and the like. can do.
  • inverse quantizer and inverse transformer 820 may further perform inverse transform and inverse quantization operations on a particular picture (eg, an intra picture).
  • FIG. 9 is a block diagram schematically illustrating an inter prediction apparatus for predictive decoding according to a first embodiment of the present invention.
  • the inter prediction apparatus for predictive decoding may be implemented as a predictor 830 in the image decoding apparatus 800 according to the first embodiment of the present invention described above with reference to FIG.
  • the predictor 830 is called.
  • the predictor 830 may include a motion compensation coefficient calculator 910 and a motion compensator 920.
  • the motion compensation coefficient calculator 910 generates a reference block indicated by the current motion vector reconstructed by decoding the encoded data, and calculates the motion compensation coefficient by using the current block adjacent pixel and the reference block adjacent pixel. That is, when the motion compensation coefficient calculator 910 receives the current motion vector reconstructed by the decoder 810 from the decoder 810 or from the motion compensator 920, the reference block indicated by the current motion vector to be reconstructed. And calculates a motion compensation coefficient using the current block adjacent pixel and the reference block adjacent pixel.
  • the process of calculating the motion compensation coefficient by the motion compensation coefficient calculator 910 using the current block adjacent pixel and the reference block adjacent pixel is calculated by the motion compensation coefficient calculator 220 described above with reference to FIGS. 2 to 4. Since the process is the same as or similar to the detailed description thereof will be omitted.
  • the motion compensator 920 generates a change reference block by reflecting the motion compensation coefficient in the reference block, and determines the change reference block as a prediction block of the current block.
  • the motion compensator 920 may determine the change reference block as a prediction block of the current block based on the motion compensation coefficient usage information or the motion compensation coefficient.
  • the motion compensation coefficient calculator 910 when the motion compensation coefficient calculator 910 receives the motion compensation coefficient usage information from the decoder 810, the motion compensation coefficient calculator 910 indicates that the motion compensation coefficient usage information uses the motion compensation coefficient.
  • the reference block may be determined as the prediction block of the current block when the motion compensation coefficient usage information indicates that the motion compensation coefficient is not used. That is, when the encoded data includes the motion compensation coefficient usage information, the image encoding apparatus 100 applies the motion compensation coefficient based on the encoding cost for the reference block and the encoding cost for the modified reference block to apply the motion of the current block.
  • whether the motion compensation coefficient usage information indicates that the motion compensation coefficient is used (for example, the flag '1') or whether the motion compensation coefficient is not used (for example, the flag ' 0 ') may determine whether to determine the modified reference block as the prediction block of the current block or whether the reference block is determined as the prediction block of the current block.
  • the motion compensation coefficient calculator 910 determines a change reference block as the prediction block of the current block when the motion compensation coefficient is not '0', and determines the reference block as the prediction block of the current block when the motion compensation coefficient is '0'.
  • the change reference block may be determined as the prediction block of the current block, and when the motion compensation coefficient is outside the preset range, the reference block may be determined as the prediction block of the current block. That is, when the coded data does not include the motion compensation coefficient usage information, the image encoding apparatus 100 determines whether to compensate for the motion of the current block by applying the motion compensation coefficient based on the value of the motion compensation coefficient.
  • Whether the value of the motion compensation coefficient satisfies a preset condition in a manner previously promised with the image encoding apparatus 100 (that is, whether the motion compensation coefficient is '0' and / or whether the motion compensation coefficient is within a preset range. ) Can be determined accordingly whether to determine the modified reference block as the prediction block of the current block or whether the reference block is determined as the prediction block of the current block.
  • the predictor 830 generates a reference block indicated by a current motion vector reconstructed by decoding encoded data, and uses a current block neighbor pixel and a reference block neighbor pixel to perform motion compensation coefficients.
  • the change reference block is generated by reflecting the motion compensation coefficient to the reference block, and the change reference block is determined as the prediction block of the current block.
  • the predictor 830 determines the modified reference block as the prediction block of the current block, and the motion compensation coefficient usage information uses the motion compensation coefficient. If not, the reference block may be determined as the prediction block of the current block.
  • the predictor 830 determines the change reference block as the prediction block of the current block when the motion compensation coefficient is not '0', and determines or moves the reference block as the prediction block of the current block when the motion compensation coefficient is '0'.
  • the change reference block may be determined as the prediction block of the current block, and when the motion compensation coefficient is outside the preset range, the reference block may be determined as the prediction block of the current block.
  • FIG. 10 is a flowchart illustrating an example of an inter prediction method for predictive decoding according to the first embodiment of the present invention.
  • the inter prediction method for predictive decoding according to the first embodiment of the present invention described above may be implemented as shown in FIG. 10. That is, the predictor 830 may generate the prediction block by determining whether to perform motion compensation of the current block by applying the motion compensation coefficient based on the motion compensation coefficient usage information.
  • the predictor 830 generates a reference block indicated by a current motion vector reconstructed by decoding encoded data (S1010), and the motion compensation coefficient usage information extracted from the encoded data uses the motion compensation coefficient.
  • the motion compensation coefficient is calculated using the current block adjacent pixel and the reference block adjacent pixel (S1030).
  • the changed reference block reflecting the coefficient is determined as the prediction block of the current block (S1040), and as a result of the determination of step S1020, the reference block not reflecting the motion compensation coefficient is determined as the prediction block of the current block (S1050).
  • 11 is a flowchart for explaining another example of an inter prediction method for predictive decoding according to the first embodiment of the present invention.
  • the inter prediction method for predictive decoding according to the first embodiment of the present invention described above may be implemented as shown in FIG. 11. That is, the predictor 830 may generate the prediction block by determining whether to perform motion compensation of the current block by applying the motion compensation coefficient based on the value of the motion compensation coefficient. Referring to FIG. 11, the predictor 830 generates a reference block indicated by a current motion vector reconstructed by decoding encoded data (S1110), and uses a current block adjacent pixel and a reference block adjacent pixel to calculate a motion compensation coefficient.
  • step S1120 it is determined whether the motion compensation coefficient is '0' (S1130), and if the motion compensation coefficient is not '0', the motion compensation coefficient is within a preset range, that is, it is larger than the lower limit threshold. If the motion compensation coefficient is within the preset range, the change reference block is determined as the prediction block of the current block (S1150), and the determination result in step S1130 is determined as the motion compensation coefficient. If it is '0' or if the determination result in step S1140 is outside the predetermined range of the motion compensation coefficient, the reference block is determined as the prediction block (S1160).
  • step S1130 and step S1140 are performed, only one of step S1130 and step S1140 may be performed. That is, the predictor 830 does not necessarily determine the change reference block as the prediction block of the current block only when the value of the motion compensation coefficient is not '0' and is within a preset range, and the value of the motion compensation coefficient is '0'. Otherwise, the change reference block may be determined as the prediction block of the current block regardless of whether the change reference block is within the preset range. Likewise, if the value of the motion compensation coefficient is within the preset range, the change reference block is determined as the prediction block of the current block. Can be determined as
  • FIG. 12 is a flowchart illustrating an image decoding method according to a first embodiment of the present invention.
  • the image decoding apparatus 800 decodes the encoded data to reconstruct the current motion vector and the residual block (S1210), and calculates using the current block neighbor pixel and the reference block neighbor pixel in the reference block indicated by the restored current motion vector.
  • a modified reference block reflecting the calculated motion compensation coefficient is generated as a prediction block of the current block (S720), and the current block is restored by adding the reconstructed residual block and the prediction block (S1230).
  • the image decoding apparatus 800 may extract motion compensation coefficient usage information from the encoded data.
  • the image decoding apparatus 800 determines the modified reference block as the prediction block of the current block, and the motion compensation coefficient usage information uses the motion compensation coefficient. If not, the reference block may be determined as the prediction block of the current block.
  • the image decoding apparatus 800 may determine whether to apply the motion compensation coefficient by itself without extracting the motion compensation coefficient usage information from the encoded data. That is, if the motion decoding coefficient usage information is not extracted from the encoded data, the image decoding apparatus 800 determines the modified reference block as the prediction block of the current block if the motion compensation coefficient is not '0', and the motion compensation coefficient is' If 0 ', the reference block may be determined as the prediction block of the current block. Alternatively, the image decoding apparatus 800 determines the modified reference block as the prediction block of the current block if the motion compensation coefficient is within a preset range, and determines the reference block as the prediction block of the current block if the motion compensation coefficient is outside the preset range. Can be.
  • FIG. 13 is a block diagram schematically illustrating a configuration of an image encoding apparatus according to a second embodiment of the present invention.
  • the image encoding apparatus 1300 is an apparatus for encoding an image, and includes a predictor 1310, a subtractor 1320, a transformer and quantizer 1330, and an encoder.
  • the encoder 1340 may include an encoder 1340, an inverse quantizer and an inverse transformer 1350, an adder 1360, and a reference picture memory 1370.
  • the overall configuration of the video encoding apparatus 1300 according to the second embodiment of the present invention as illustrated in FIG. 13 is substantially different from the video encoding apparatus 100 according to the first embodiment of the present invention described with reference to FIG. 1. not.
  • the subtractor 1320, the converter, the quantizer 1330, and the like of the image encoding apparatus 1300 according to the second embodiment of the present invention the subtractor 120 and the converter described in the first embodiment of the present invention.
  • the details will be replaced by the contents in the first embodiment and further description thereof will be omitted.
  • the predictor 1310 of the image encoding apparatus 1300 according to the second embodiment of the present invention generates a prediction block using an average compensation coefficient
  • the image encoding apparatus 100 according to the first embodiment of the present invention is used. Since the predictors 110 are different from each other in that they generate a prediction block using motion compensation coefficients, the predictor 110 will be described in more detail in this regard.
  • the predictor 1310 inter-predicts a block to be coded (hereinafter abbreviated as 'Current Block') to generate a predicted block. That is, the predictor 1310 estimates the motion of the current block according to the inter prediction mode from the previous picture that is already encoded, decoded, and reconstructed to obtain a motion vector and a reference picture index. Determine the motion information of the current block including a, and generates a prediction block using the motion information of the current block.
  • a prediction block may be generated using a current block adjacent pixel 'and a neighboring pixel of a reference block (hereinafter referred to as a reference block adjacent pixel).
  • the reference block indicated by the motion information of the current block determined by estimating the motion of the block the current block neighboring pixel and the reference block neighboring pixel selected based on the motion information of the current block and the motion information of the neighboring block of the current block are used.
  • Changed reference block is generated by reflecting average compensation coefficient calculated by using It can be determined as a prediction block.
  • the current block may be a macroblock, but may also be a subblock divided into transformation units from the macroblock.
  • the transform unit refers to the size of the pixel in which the converter and the quantizer 1330 transform and quantize the residual block, and may have various sizes such as 16x16, 8x16, 16x8, 8x8, 8x4, 4x8, 4x4, and the like.
  • the neighboring block may be a block pre-coded, decoded, and reconstructed among blocks adjacent to the current block.
  • the predictor 1310 may determine a more efficient block among the reference block and the modified reference block as the prediction block of the current block. That is, the predictor 1310 uses a method such as rate-distortion optimization or analyzes characteristics of adjacent pixels to determine the use of an average compensation coefficient to select a block to be used as a prediction block of the current block among the reference block and the changed reference block. You can decide.
  • the predictor 1310 will be described in detail with reference to FIG. 14 in a later process.
  • FIG. 14 is a block diagram schematically illustrating an inter prediction apparatus for predictive encoding according to a second embodiment of the present invention.
  • the inter prediction apparatus for predictive encoding may be implemented as the predictor 1310 in the image encoding apparatus 1300 according to the second embodiment of the present invention described above with reference to FIG.
  • the predictor 1310 is called.
  • the predictor 1310 may include a motion estimator 1410, an average compensation coefficient calculator 1420, and a motion compensator 1430.
  • the motion estimator 1410 estimates the motion of the current block to determine motion information of the current block. That is, the motion estimator 1410 estimates the motion of the current block by finding a position of a reference block having a minimum difference from the current block in a picture that is previously encoded, decoded, and reconstructed. In this case, interpolation may be performed between pixels to expand a picture.
  • the filter used for interpolation may be a fixed 6-tap filter or an adaptive interpolation filter optimized on a picture or block basis. Adaptive Interpolation Filter).
  • a motion vector indicating a reference block having a minimum difference from the current block is obtained as a motion vector of the current block, and an index indicating a reference picture containing the reference block is obtained as a reference picture index.
  • the average compensation coefficient calculator 1420 generates a reference block indicated by the motion information of the current block, and neighbors the current block adjacent to the reference block selected based on the motion information of the current block and the motion information of the neighboring blocks of the current block.
  • the average compensation coefficient is calculated using the pixel. That is, the average compensation coefficient calculator 1420 calculates an average compensation coefficient for more accurately compensating for the motion of the current block by using the current block adjacent pixel and the reference block adjacent pixel.
  • the average compensation coefficient calculator 1420 selects the current block neighboring pixel and the reference block neighboring pixel
  • the neighboring reference block indicated by the motion information of the neighboring block of the current block is included in the reference block in the reference picture.
  • the neighboring pixel adjacent to the current block is selected as the neighboring pixel in the neighboring block of the current block
  • the neighboring pixel adjacent to the reference block in the neighboring reference block indicated by the motion information of the neighboring block of the current block. Can be selected as the reference block adjacent pixel.
  • the average compensation coefficient calculator 1420 may have a reference picture index identified by the motion information of the current block and a reference picture index identified by the motion information of neighboring blocks of the current block, and may be equal to each other by the motion information of the current block. If the difference between the motion vector identified and the motion vector identified by the motion information of the neighboring block of the current block is equal to or less than a reference threshold, the neighboring pixel adjacent to the current block is selected as the current block neighboring pixel in the neighboring block of the current block, and Adjacent pixels adjacent to the reference block in the peripheral reference block indicated by the motion vectors of the neighboring blocks of the block can be selected as the reference block neighboring pixels.
  • the average compensation coefficient calculator 1420 may refer to the difference between the motion vector of the current block and the motion vector of the neighboring block of the current block. It can be determined that it is below the threshold.
  • the average compensation coefficient calculator 1420 uses various geometric distance measurement methods such as Euclidean distance or City block distance to determine the motion vector of the current block and the motion vector of the neighboring block of the current block. The distance can be calculated.
  • 15 is an exemplary diagram illustrating adjacent pixels for calculating an average compensation coefficient according to the second embodiment of the present invention.
  • the current block when the current block is a macroblock, pixels that may be used as the current block adjacent pixel and the reference block adjacent pixel are exemplarily illustrated.
  • the average compensation coefficient may be calculated as a difference between the average of the current block adjacent pixel 1550 and the average of the reference block adjacent pixel 1530.
  • the motion vector 1510 and the reference picture index of the current block can be obtained by estimating the motion of the current block 1540 by finding a reference block 1520 having a minimum difference from the current block 1540 in the current picture.
  • the current block adjacent pixel 1550 may be pixels adjacent to the current block 1540
  • the reference block adjacent pixel 1530 may be pixels adjacent to the reference block 1520.
  • 16 is an exemplary diagram illustrating neighboring blocks of a current block, a neighboring block of a reference block, and corresponding neighboring pixels, which are selected to calculate an average compensation coefficient according to a second embodiment of the present invention.
  • FIG. 16 exemplarily illustrates neighboring pixels and neighboring pixels used to calculate an average compensation coefficient when a current block is a 4x4 sized subblock divided from a 16x16 sized macroblock into a 4x4 sized one of transform units. It was. 16 is merely an example, and may be similarly applied to macroblocks having different sizes and subblocks having different sizes.
  • 16A exemplarily illustrates a current block of a current picture, neighboring blocks of the current block, and adjacent pixels of the current block.
  • the current block of the current picture is block C
  • block A, block B, and block D may be selected as neighboring blocks of the current block.
  • the pixels adjacent to the block C, which is the current block may be selected in blocks A, B, and D which are neighboring blocks of the current block.
  • Pixels in the shaded portion, such as ⁇ , ⁇ , ⁇ may be selected as neighboring pixels of the current block.
  • adjacent pixels adjacent to the current block are represented by
  • block B adjacent pixels adjacent to the current block are represented by ⁇ .
  • Block D adjacent pixels adjacent to the current block are represented by ⁇ .
  • Block E represents a block that is not selected as a neighboring block of the current block in the current picture.
  • the remaining empty blocks may have their own motion vectors, but are omitted for convenience of description.
  • each block in the reference picture indicated by the reference picture index may be represented as 16B.
  • the motion information of block A which is the current block, may use a motion vector and a reference picture index determined by the motion estimator 1410, and blocks A, B, and D, which are neighboring blocks of the current block, encode the current block.
  • the motion vectors and reference picture indices of the respective blocks are previously determined and stored so that they can be used without additional calculation or operation.
  • neighboring blocks of the current block can be decoded and reconstructed before decoding the current block in advance, so that the current block adjacent pixel and the reference block adjacent pixel can be selected in the same manner as the image encoding apparatus 1300. .
  • 16B exemplarily illustrates a reference block of a reference picture, a neighboring block of the reference block, and adjacent pixels of the reference block.
  • the reference block indicated by the motion vector (0,0) of the block C which is the current block
  • C ′ motion vectors of blocks A, B, and D, which are neighboring blocks of the current block
  • the peripheral reference blocks indicated by (0, 4), (0, 0), and (0, 0) may be represented by block A ', block B', and block D ', respectively.
  • a block indicated by the motion vector (0, -4) of the block E which is not a neighboring block of the current block, may be represented by E '.
  • Block B and Block D which are the neighboring blocks of Block C, which is the current block
  • Block B 'and Block D' which are the peripheral reference blocks indicated by the motion vectors
  • block C which is the reference block.
  • block A which is the neighboring block of ',' the neighboring block of the current block
  • block A ' which is the block indicated by the motion vector
  • block E does not become the neighboring block of the block C', which is the reference block, but rather, the neighboring block of the current block.
  • the block E 'indicated by the motion vector of the block E that is not selected as the neighboring block of the block C' which is the reference block.
  • blocks indicated by the reference picture index and the motion vector of the neighboring blocks of the current block are still adjacent to block B and block D which are the neighboring blocks of the reference block and adjacent to the current block C in block D.
  • the pixels of the shaded portion may be selected as the current block adjacent pixels.
  • the pixels of the shaded portions ⁇ and ⁇ adjacent to the block C ' which are the reference blocks within blocks B' and D 'are referred to as reference blocks. It may be selected as an adjacent pixel.
  • the average compensation coefficient calculator 1420 compares the motion information of the current block and the motion information of the current block to determine whether the blocks indicated by the reference picture index and the motion vector of the neighboring blocks of the current block are identical or similar. It can still be determined whether it is a neighboring block of the reference block. That is, if the reference picture index is equal to the reference picture index of the neighboring block of the current block and the motion vector of the current block is the same as the motion vector of the neighboring block of the current block, the average compensation coefficient calculator 1420 may determine the neighboring blocks of the current block. It may be determined that blocks indicated by the reference picture index and the motion vector are still neighboring blocks of the reference block.
  • the average compensation coefficient calculator 1420 may be configured such that the reference picture index is the same as the reference picture index of the neighboring block of the current block and the motion vector of the current block is not the same as the motion vector of the neighboring block of the current block, but the difference is a preset reference. If it is less than or equal to the threshold, it may be determined that the motion information is similar, so that the blocks indicated by the reference picture index and the motion vector of the neighboring blocks of the current block may still be determined to be the neighboring blocks of the reference block.
  • the average compensation coefficient calculator 1420 is not the same as whether the motion vector of the current block is the same as the motion vector of the neighboring blocks of the current block, but to determine whether the difference is less than or equal to a preset reference threshold. You can use the street. That is, the distance between the motion vector of the current block and the motion vector of the neighboring block of the current block is calculated using a distance measuring method of the vector such as Euclidean distance or the city block distance, and whether the difference between the distances is less than or equal to the reference threshold. You can judge.
  • the current block adjacent pixel and the neighboring block adjacent pixel are not necessarily selected in the same manner as described with reference to FIG. 16 but may be selected using other various methods. For example, only blocks A, B, and D are not necessarily selected as neighboring blocks of the current block, and block F (not shown) next to the right side of block B may be additionally selected as neighboring blocks of the current block. Accordingly, the current block neighbor pixel and the reference block neighbor pixel may be differently selected.
  • the average compensation coefficient calculated using the current block neighbor pixel and the reference block neighbor pixel selected as described above may be calculated as a difference between the average of the current block neighbor pixel and the average of the reference block neighbor pixel as shown in Equation 5 below. have.
  • These current block neighbor pixels and reference block neighbor pixels are pixels that have been previously encoded, decoded, and reconstructed before encoding the current block.
  • Equation 5 m r represents an average of reference block adjacent pixels, m c represents an average of current block adjacent pixels, and mc coeff represents an average compensation coefficient.
  • the motion compensator 1430 generates a change reference block by applying an average compensation coefficient to the reference block, and determines the change reference block as a prediction block of the current block. That is, the motion compensator 1430 is a change generated by reflecting the average compensation coefficient calculated by the average compensation coefficient calculator 1420 in the reference block and the reference block indicated by the motion information of the current block obtained by the motion estimator 1410. One of the reference blocks is determined as the predictive block of the current block.
  • the motion compensator 1430 may determine the modified reference block as a prediction block of the current block based on the encoding cost for the reference block and the encoding cost for the modified reference block. To this end, the motion compensator 1430 calculates the encoding cost for the reference block and the encoding cost for the change reference block, and if the encoding cost for the reference block is greater than the encoding cost for the change reference block, then the motion compensator 1430 It may be determined as the prediction block of the block, and if the encoding cost for the reference block is less than or equal to the encoding cost for the modified reference block, the reference block may be determined as the prediction block of the current block.
  • the encoding cost for the reference block refers to the encoding cost for predicting and encoding the current block by using the reference block as a prediction block of the current block
  • the encoding cost for the modified reference block is used to predict the current block for the modified reference block.
  • the encoding cost used to predict-code the current block by using the block As the encoding cost, a rate-distortion cost may be used, and the cost may not be limited thereto, and any cost may be used as long as it costs to inter-prediction the current block using a reference block or a modified reference block as a prediction block.
  • the motion compensator 1430 may determine the change reference block as the prediction block of the current block based on the value of the average compensation coefficient. To this end, the motion compensator 1430 may determine the modified reference block as the prediction block of the current block when the average compensation coefficient is not '0', and when the average compensation coefficient is '0', the motion block 1430 may determine the reference block of the current block. It can be determined as a prediction block. When the average compensation coefficient is '0', encoding is performed by using a changed reference block that reflects the average compensation coefficient as a prediction block of the current block and encoding by using a reference block that does not reflect the average compensation coefficient as the prediction block of the current block.
  • the motion compensator 1430 may determine the modified reference block as the prediction block of the current block when the average compensation coefficient is within a preset range. If the average compensation coefficient is outside the preset range, the motion compensator 1430 may determine the prediction block of the current block. Can be determined as Here, the preset range may be a range smaller than the upper limit threshold and larger than the lower limit threshold. The upper limit threshold and the lower limit threshold may be one or more of the variance, standard deviation, and correlation coefficient of the current block adjacent pixel and the reference block adjacent pixel. Can be determined using. That is, as shown in Equation 6, the motion compensator 1430 may determine the modified reference block as the prediction block of the current block only when the average compensation coefficient is within a preset range.
  • Equation 6 mc coeff represents an average compensation coefficient, Thd a represents a lower limit threshold, and Thd b represents an upper limit threshold.
  • the change reference block when the change reference block is determined as the prediction block of the current block based on the value of the average compensation coefficient, whether the value of the average compensation coefficient is '0' and whether the value of the average compensation coefficient is within a preset range. Although it may be determined whether the modified reference block is the prediction block of the current block according to each of them, the two conditions may be combined to determine the changed reference block as the prediction block of the current block.
  • the change reference block is determined as the prediction block of the current block only when the value of the average compensation coefficient is not '0' and is within a preset range, and the value of the average compensation coefficient is' 0 'or the value of the average compensation coefficient is' If it is not 0 'but outside the preset range, the reference block may be determined as the prediction block of the current block.
  • the motion compensator 1430 calculates one or more of variance, standard deviation, and correlation coefficient of the current block adjacent pixel and the reference block adjacent pixel, and changes the changed reference block only if the calculated value satisfies a specific condition. If it is determined that the prediction block is or is not satisfied, the reference block may be determined as the prediction block of the current block.
  • the motion compensator 1430 may generate a modified reference block by subtracting an average compensation coefficient from each pixel of the reference block. That is, each pixel of the modified reference block has a difference value obtained by subtracting the average compensation coefficient from the pixel value of each pixel of the reference block. In this case, since the difference value obtained by subtracting the average compensation coefficient from the pixel value of each pixel may be outside the range of the value of the pixel representation, the motion compensator 1430 subtracts the value of the average compensation coefficient from each pixel of the reference block. You can create a change reference block by limiting it within the range of values represented.
  • the value that the pixel can have is one of 0 to 255. If one of each pixel of the reference block has a value of '1' and the average compensation coefficient is calculated as '3', the corresponding pixel has a value of '-2' in the modified reference block so that the pixel is represented. Will be out of range. Therefore, in this case, the pixel value of the corresponding pixel of the change reference block is changed to have a value of '0' which has a minimum value among the values limited to one of 0 to 255.
  • the residual block may be calculated as shown in Equation 7.
  • Equation 7 original ij represents each pixel of the current block, referencek ij represents each pixel of the reference block, and residual ij represents each pixel of the residual block.
  • clip ( reference ij -mc coeff ) represents each pixel of the change reference block
  • clip () function indicates that the value of reference ij -mc coeff , which is each pixel of the change reference block, is a range of values (eg, For example, when the pixel value is represented by 8 bits, the minimum value and the maximum value are limited to have a value within 0 to 255).
  • the motion compensator 1430 may further refine the current motion vector by further estimating the motion of the current block by applying an average compensation factor. That is, the motion compensator 1430 further performs motion estimation by applying an average compensation coefficient to an arbitrary range (eg, ⁇ ⁇ pixels) around a pixel indicated by the current motion vector determined by the motion estimator 1410. Therefore, the encoding efficiency can be further improved by performing more accurate prediction on the block (or macroblock) of the region where the local illumination change or the viewpoint change occurs.
  • an average compensation coefficient eg, ⁇ ⁇ pixels
  • the current motion vector is (2, 4) and ⁇ , which determines an arbitrary range, is set to '1', (1, 3), (1, 4), (1, 5), ( 2, 3), (2, 4), (2, 5), (3, 3), (3, 4), (3, 5) motion compensation using the mean compensation coefficients, respectively.
  • Compare the coding cost for a location e.g., rate-distortion cost, sum of absolute difference, sum of absolute transformed difference (SATD), or sum of squared difference
  • may be appropriately set according to an implementation method or condition, and as ⁇ increases, encoding efficiency may increase.
  • the motion compensator 1430 may determine whether to determine the modified reference block as the prediction block of the current block, not in block units but in a group of blocks, for example, macroblocks, slices, or pictures.
  • the motion compensator 1430 calculates a coding cost for the current picture to be encoded using the average compensation coefficient and a coding cost for the case where the picture is encoded without using the average compensation coefficient.
  • the averaged compensation coefficient usage information for identifying whether the averaged coefficient is encoded by applying the average compensation coefficient to each picture is further included in the encoded data.
  • 17 is a flowchart illustrating an inter prediction method for prediction encoding according to a second embodiment of the present invention.
  • the predictor 1310 of the image encoding apparatus 1300 estimates the motion of the current block to determine motion information of the current block (S1710), A reference block indicated by the motion information of the current block is generated (S1720), and the average is obtained by using the current block neighbor pixel and the reference block neighbor pixel selected based on the motion information of the current block and the motion information of the neighboring blocks of the current block.
  • the compensation coefficient is calculated (S1730), the change reference block is generated by applying the average compensation coefficient to the reference block (S1740), and the change reference block is determined as the prediction block of the current block (S1750).
  • the current block may be a macroblock of various sizes or may be a subblock divided into transformation units from the macroblock.
  • the neighboring block of the current block may be a block that is encoded, decoded, and reconstructed among blocks adjacent to the current block.
  • the average compensation coefficient may be a difference between the average of the current block adjacent pixels and the average of the reference block adjacent pixels.
  • the predictor 1310 may determine that the current block is in the neighboring block of the current block when the neighboring reference block indicated by the motion information of the neighboring block of the current block is the neighboring block of the reference block in the reference picture that includes the reference block.
  • the predictor 1310 has a motion in which the reference picture index identified by the motion information of the current block and the reference picture index identified by the motion information of the neighboring blocks of the current block are identical and identified by the motion information of the current block. If the difference between the vector and the motion vector identified by the motion information of the neighboring block of the current block is equal to or less than the reference threshold, the neighboring pixel adjacent to the current block is selected as the neighboring pixel of the current block within the neighboring block of the current block, In the peripheral reference block indicated by the motion vector of the block, adjacent pixels adjacent to the reference block can be selected as reference block adjacent pixels.
  • the predictor 1310 determines that the difference between the motion vector of the current block and the motion vector of the neighboring block of the current block is less than or equal to the reference threshold. It can be judged that.
  • the predictor 1310 may generate a modified reference block by subtracting the average compensation coefficient from each pixel of the reference block. If necessary, the predictor 1310 may subtract the average compensation coefficient from each pixel of the reference block. It is also possible to create a change reference block by limiting the range of values represented.
  • the predictor 1310 calculates the encoding cost for the reference block, calculates the encoding cost for the modified reference block, and changes if the encoding cost for the reference block is greater than the encoding cost for the modified reference block.
  • the reference block is determined as the prediction block of the current block, and when the encoding cost for the reference block is less than or equal to the encoding cost for the changed reference block, the reference block may be determined as the prediction block of the current block.
  • the predictor 1310 determines the modified reference block as the prediction block of the current block when the average compensation coefficient is not '0', and predicts the reference block as the prediction block of the current block when the average compensation coefficient is '0'. Can be determined as a block.
  • the predictor 1310 determines the change reference block as the prediction block of the current block when the average compensation coefficient is within a preset range, and determines the reference block as the prediction block of the current block when the average compensation coefficient is outside the preset range.
  • the preset range is smaller than the upper limit threshold and larger than the lower limit threshold, and the upper and lower threshold values are determined by using one or more of the variance, standard deviation, and correlation coefficient of the current block adjacent pixel and the reference block adjacent pixel. Can be determined.
  • the predictor 1310 may further estimate the motion of the current block by applying an average compensation coefficient to readjust the motion vector of the motion information of the current block.
  • each step described above with reference to FIG. 17 is not necessarily all performed, and some steps may be selectively omitted or added.
  • the order of each step is not necessarily determined as shown, and the order of some or starch steps may be changed or even performed in parallel.
  • FIG. 18 is a flowchart illustrating a video encoding method according to a second embodiment of the present invention.
  • the image encoding apparatus 1300 is calculated by using a current block neighbor pixel and a reference block neighbor pixel in a reference block indicated by a current motion vector selected based on motion information of a current block and motion information of neighboring blocks of the current block.
  • a modified reference block reflecting the average compensation coefficient is generated as a prediction block of the current block (S1810), a residual block is generated by subtracting the current block and the prediction block (S1820), and the encoded data is generated by encoding the residual block (S1830).
  • the image encoding apparatus 1300 may include average compensation coefficient usage information indicating that the average compensation coefficient is used in the encoded data.
  • the neighboring block of the current block A neighboring pixel adjacent to the current block within the current block is selected as the current block neighboring pixel, and a neighboring pixel adjacent to the reference block within the peripheral reference block indicated by the motion information of the neighboring block of the current block can be selected as the reference block neighboring pixel.
  • the image encoding apparatus 1300 may have a reference picture index identified by the motion information of the current block and a reference picture index identified by the motion information of a neighboring block of the current block, and are identified by the motion information of the current block.
  • the difference between the motion vector to be determined by the motion information of the neighboring block of the current block is less than or equal to the threshold, the neighboring pixel adjacent to the current block is selected as the current block neighboring pixel in the neighboring block of the current block, Adjacent pixels adjacent to the reference block in the peripheral reference block indicated by the motion vector of the neighboring block can be selected as the reference block neighboring pixels.
  • FIG. 19 is a block diagram schematically illustrating an image decoding apparatus according to a second embodiment of the present invention.
  • the image decoding apparatus 1900 includes a decoder 1910, an inverse quantizer and an inverse converter 1920, a predictor 1930, an adder 1940, and a reference picture memory 1950. It may be configured to include.
  • the decoder 1910 decodes the encoded data to reconstruct the residual block having the motion information of the current block and the quantized transform coefficients. That is, the decoder 1910 decodes the encoded data to extract the quantization transform coefficient sequence, and inversely scans the quantization transform coefficient sequence by various inverse scanning methods such as inverse zigzag scan to restore the residual block having the quantization transform coefficients. In this case, the decoder 1910 may extract and decode the residual block encoded from the first field included in the encoded data, extract information necessary for prediction from the second field included in the encoded data, or decode the extracted information.
  • the extracted information may be transmitted to the predictor 1930 so that the predictor 1930 predicts the current block in the same or similar manner as that of the predictor 1310 of the image encoding apparatus 1300. can do.
  • the decoder 1910 may extract the average compensation coefficient usage information and transmit the average compensation coefficient usage information to the predictor 1930.
  • the inverse quantizer and inverse transformer 1920 inverse quantizes a residual block having the quantized transform coefficients that are decoded and reconstructed by the decoder 1910 to generate a residual block having the transform coefficients, and inverses the residual block having the transform coefficients.
  • the transform restores the residual block having the residual signal.
  • the decoder 1910, the inverse quantizer, and the inverse transformer 1920 are respectively independently implemented and described. However, functions of the decoder 1910, the inverse quantizer, and the inverse converter 1920 are integrated. And may be implemented as one decoder. As described above, when the functions of the decoder 1910, the inverse quantizer and the inverse transformer 1920 are integrated and implemented as an integrated decoder, the decoder 1910 decodes the encoded data to restore the current motion vector and the residual block. If necessary, the average compensation coefficient use information may be extracted from the encoded data.
  • the predictor 1930 includes a current block neighbor pixel and a reference block neighbor pixel selected based on the motion information of the current block restored to the reference block indicated by the motion information of the current block to be restored and the motion information of the neighboring blocks of the current block.
  • a modified reference block reflecting the average compensation coefficient calculated using the generated reference block is generated as the prediction block of the current block. That is, the predictor 1930 generates a prediction block for the current block by using information necessary for prediction, such as motion information motion vector, average compensation coefficient usage information, etc., of the current block restored from the decoder 1910.
  • the predictor 1930 when the predictor 1930 receives the average compensation coefficient usage information from the decoder 1910, the predictor 1930 applies the average compensation coefficient based on the average compensation coefficient usage information transmitted when generating the prediction block to compensate for the movement of the current block.
  • the prediction block may be generated by determining whether to do so.
  • the predictor 1930 will be described in detail with reference to FIG. 21 in a later process.
  • the adder 1940 reconstructs the current block by adding the residual block to be recovered and the prediction block.
  • the adder 1940 reconstructs the current block by adding the residual block reconstructed by the inverse quantizer and the inverse transformer 1920 and the prediction block generated by the predictor 1930.
  • the current block reconstructed by the adder 1940 may be transferred to the reference picture memory 1950 and accumulated in a reference unit in the reference picture memory 1950 and stored as a reference picture, and the reference picture may be stored as another block in the predictor 1930. Or for predicting other pictures.
  • the image decoding apparatus 1900 includes an intra predictor for intra prediction and a deblocking filter for deblocking filtering the reconstructed current block. It can be included as.
  • Inverse quantizer and inverse converter 1920 may further perform inverse transform and inverse quantization operations on a particular picture (eg, an intra picture).
  • 20 is a block diagram schematically illustrating an inter prediction apparatus for predictive decoding according to a second embodiment of the present invention.
  • the inter prediction apparatus for predictive decoding may be implemented by the predictor 1930 in the image decoding apparatus 1900 according to the second embodiment of the present invention described above with reference to FIG.
  • the predictor 1930 is referred to as.
  • the predictor 1930 may include an average compensation coefficient calculator 2010 and a motion compensator 2020.
  • the average compensation coefficient calculator 2010 decodes the encoded data to generate a reference block indicated by the motion information of the current block to be restored, and selects the motion based on the motion information of the current block to be restored and the motion information of the neighboring blocks of the current block.
  • the average compensation coefficient is calculated by using the current block neighbor pixels and the reference block neighbor pixels. That is, when the average compensation coefficient calculator 2010 receives the motion information of the current block restored by the decoder 1910 from the decoder 1910 or from the motion compensator 2020, the average compensation coefficient calculator 2010 may determine by the motion information of the restored current block.
  • a block indicated by the motion information of the neighboring blocks of the current block is generated based on the motion information of the current block and the motion information of the neighboring block of the current block.
  • the average compensation coefficient calculator 2010 calculates the average compensation coefficient by using the current block adjacent pixel and the reference block adjacent pixel in the average compensation coefficient calculator 1420 described above with reference to FIGS. 14 to 16. Since the process is the same as or similar to the detailed description thereof will be omitted.
  • the motion compensator 2020 generates a change reference block by reflecting an average compensation coefficient in the reference block, and determines the change reference block as a prediction block of the current block.
  • the motion compensator 2020 may determine a change reference block as a prediction block of the current block based on the average compensation coefficient usage information or the average compensation coefficient. For example, when the motion compensator 2020 receives the average compensation coefficient usage information from the decoder 1910, when the average compensation coefficient usage information indicates that the average compensation coefficient usage information is used, the motion compensator 2020 determines the change reference block as the prediction block of the current block. If the average compensation coefficient usage information indicates that the average compensation coefficient is not used, the reference block may be determined as the prediction block of the current block.
  • the image encoding apparatus 1300 may apply the average compensation coefficient based on the encoding cost for the reference block and the encoding cost for the changed reference block to adjust the motion of the current block. Since it is determined whether to compensate, whether the average compensation coefficient usage information indicates that the average compensation coefficient is used (for example, the flag '1') or whether the average compensation coefficient is not used (for example, the flag ' 0 ') may determine whether to determine the modified reference block as the prediction block of the current block or whether the reference block is determined as the prediction block of the current block.
  • the motion compensator 2020 determines the change reference block as the prediction block of the current block when the average compensation coefficient is not '0', and determines the reference block as the prediction block of the current block when the average compensation coefficient is '0'.
  • the changed reference block may be determined as the prediction block of the current block, and when the average compensation coefficient is outside the preset range, the reference block may be determined as the prediction block of the current block. That is, when the coded data does not include the average compensation coefficient usage information, the image encoding apparatus 1300 determines whether to compensate for the motion of the current block by applying the average compensation coefficient based on the value of the average compensation coefficient.
  • Whether the value of the average compensation coefficient satisfies a preset condition in a manner previously agreed with the image encoding apparatus 1300 (that is, whether the average compensation coefficient is '0' and / or whether the average compensation coefficient is within a preset range. ) Can be determined accordingly whether to determine the modified reference block as the prediction block of the current block or whether the reference block is determined as the prediction block of the current block.
  • 21 is a flowchart illustrating an inter prediction method for predictive decoding according to a second embodiment of the present invention.
  • the predictor 1930 generates a reference block indicated by motion information of the current block to be decoded by decoding the encoded data (S2110).
  • the average compensation coefficient is calculated using the current block neighboring pixel and the reference block neighboring pixel selected based on the motion information of the current block and the motion information of the neighboring block of the current block (S2120), and the average compensation coefficient is reflected in the reference block.
  • the change reference block is generated to determine the change reference block as a prediction block of the current block (S2130).
  • the current block may be a macroblock of various sizes or may be a subblock divided into transformation units from the macroblock.
  • the neighboring block of the current block may be a block decoded and reconstructed among the blocks adjacent to the current block, and the average compensation coefficient may be a difference between an average of pixels adjacent to the current block and an average of pixels adjacent to the reference block.
  • the predictor 1930 when the neighboring reference block indicated by the motion information of the neighboring block of the current block is the neighboring block of the reference block in the reference picture including the reference block, the predictor 1930 Adjacent adjacent pixels may be selected as the current block neighbor pixels, and adjacent pixels adjacent to the reference block may be selected as reference block neighbor pixels within the peripheral reference block indicated by the motion information of the neighboring blocks of the current block.
  • the predictor 1930 can identify the reference picture index of the current block identified by the motion information of the current block being reconstructed and the reference picture index of the neighboring block of the current block being identical and identified by the motion information of the current block being reconstructed. If the difference between the motion vector of the current block and the motion vector of the neighboring block of the current block is less than or equal to the reference threshold, the neighboring pixel adjacent to the current block is selected as the current block neighboring pixel in the neighboring block of the current block, In the peripheral reference block indicated by the motion vector, adjacent pixels adjacent to the reference block can be selected as reference block adjacent pixels.
  • the predictor 1930 may determine the motion vector of the current block and the current block. It may be determined that the difference between the motion vectors of the neighboring blocks is equal to or less than the reference threshold.
  • the predictor 1930 may generate a modified reference block by subtracting the average compensation coefficient from each pixel of the reference block, and if necessary, the pixel is subtracted from the value of the average compensation coefficient from each pixel of the reference block. You can create a change reference block by limiting the range of values represented.
  • the predictor 1930 determines the modified reference block as the prediction block of the current block when the average compensation coefficient usage information extracted from the encoded data indicates that the average compensation coefficient is used, and the average compensation coefficient usage information is averaged.
  • the reference block may be determined as the prediction block of the current block.
  • the predictor 1930 determines the change reference block as the prediction block of the current block when the average compensation coefficient is not '0', and predicts the reference block as the prediction block of the current block when the average compensation coefficient is '0'. Can be determined as a block.
  • the predictor 1930 determines the modified reference block as the prediction block of the current block when the average compensation coefficient is within a preset range, and determines the reference block as the prediction block of the current block when the average compensation coefficient is outside the preset range. Can be determined as
  • FIG. 22 is a flowchart illustrating an image decoding method according to a second embodiment of the present invention.
  • the image decoding apparatus 1900 decodes the encoded data to restore the motion information and the remaining block of the current block (S2210), and the motion information and the current block of the current block restored to the reference block indicated by the motion information of the restored current block.
  • a modified reference block reflecting an average compensation coefficient calculated by using the current block neighbor pixel and the reference block neighbor pixel selected based on the motion information of the neighboring blocks of the block is generated as a prediction block of the current block (S2220), and the reconstructed residual
  • the current block is restored by adding the block and the predictive block (S2230).
  • the image decoding apparatus 1900 may further extract the average compensation coefficient usage information from the encoded data. In this case, the image decoding apparatus 1900 indicates that the average compensation coefficient usage information uses the average compensation coefficient in step S2220.
  • the reference block may be determined as the prediction block of the current block.
  • the image decoding apparatus 1900 may selectively determine the reference block or the changed reference block as the prediction block of the current block based on the value of the average compensation coefficient, as described above with reference to FIGS. 20 and 21. .
  • the neighboring block of the current block A neighboring pixel adjacent to the current block within the current block is selected as the current block neighboring pixel, and a neighboring pixel adjacent to the reference block within the peripheral reference block indicated by the motion information of the neighboring block of the current block can be selected as the reference block neighboring pixel.
  • the image decoding apparatus 1900 may have the same reference picture index of the current block identified by the motion information of the current block to be reconstructed and motion information of the current block to which the reference picture index of the neighboring block of the current block is identical and reconstructed. If the difference between the motion vector of the current block to be identified and the motion vector of the neighboring block of the current block is equal to or less than the reference threshold, the neighboring pixel adjacent to the current block is selected as the current block neighboring pixel within the neighboring block of the current block, In the peripheral reference block indicated by the motion vector of the block, adjacent pixels adjacent to the reference block can be selected as reference block adjacent pixels.
  • the present invention is not necessarily limited to these embodiments, although all of the components constituting the first and second embodiments of the present invention are described as being combined or operating in combination. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more. In addition, although all of the components may be implemented in one independent hardware, each or all of the components may be selectively combined to perform some or all functions combined in one or a plurality of hardware. It may be implemented as a computer program having a. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program may be stored in a computer readable storage medium and read and executed by a computer, thereby implementing embodiments of the present invention.
  • the storage medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.
  • the present invention is applied to the field of image compression processing for encoding, decoding, and transmitting an image, and thus, by accurately predicting a block to be encoded, the compression efficiency can be improved by reducing the difference between the actual block and the predicted block. It is a very useful invention that produces the effect.

Landscapes

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

Abstract

본 발명은 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화 방법 및 장치에 관한 것이다. 본 발명은 예측 부호화를 위한 인터 예측 방법에 있어서, 현재 블록의 움직임을 추정하여 현재 움직임 벡터를 결정하고, 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하며, 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수 또는 평균 보상 계수를 계산하며, 참조 블록에 움직임 보상 계수 또는 평균 보상 계수를 반영하여 변경 참조 블록을 생성하며, 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 것을 특징으로 하는 인터 예측 방법을 제공한다. 본 발명에 의하면, 부호화하고자 하는 블록을 더욱 정확하게 예측함으로써 실제 블록과 예측된 블록 간의 차이를 줄여 압축 효율을 향상시킬 수 있다.

Description

인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
본 발명은 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 영상을 인터 예측 부호화하는 데 있어서, 현재 블록과 예측 블록 간의 차이를 최소화하여 예측 정확도를 향상시키고 그에 따라 압축 효율을 향상시키는 방법 및 장치에 관한 것이다.
MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 기존의 MPEG-4 Part 2와 H.263 표준안보다 더욱 우수하고 뛰어난 비디오 압축 기술을 개발하였다. 이 새로운 표준안은 H.264/AVC(Advanced video Coding)이라 호칭하고 MPEG-4 Part 10 AVC와 ITU-T Recommendation H.264로 공동 발표되었다.
H.264/AVC(이하 'H.264'라 약칭함) 표준안에서는 다양한 형태의 서브블록(Subblock)을 갖는 매크로블록(Macroblock) 단위로 인트라 예측(Intra Prediction) 및/또는 인터 예측(Inter Prediction)을 수행하여 잔여 신호(Residual Signal)를 생성하며, 생성된 잔여 신호에 대해 변환(Transform) 및 양자화(Quantization)을 수행하고 부호화한다. 여기서, 인터 예측은 영상의 프레임 간의 시간적 중복성을 제거하여 영상을 압축하는 방법으로서, 하나 이상의 참조 프레임(Reference Frame)을 이용하여 부호화하고자 하는 블록(이하 '현재 블록(Current Block)'이라 칭함)의 움직임을 블록 단위로 추정(Estimation)하고, 움직임 추정 결과에 기초하여 현재 블록의 예측 블록(Predicted Block)을 생성하여 움직임을 보상(Compensation)한다.
통상적인 인터 예측 부호화에서는, 예측 블록을 생성하기 위해 현재 블록의 움직임을 추정할 때, 소정의 평가 함수를 이용하여 현재 블록과 가장 유사한 블록을 참조 프레임의 정해진 검색 범위에서 검색한다. 현재 블록과 유사한 블록이 검색되면, 해당 블록을 이용하여 예측 블록을 생성하고 현재 블록과 예측 블록의 화소 신호들의 차이인 잔여 신호만을 부호화하여 전송함으로써 데이터의 압축률을 높인다.
하지만, 전술한 통상적인 인터 예측 부호화와 같이 움직임 보상을 수행한다면 각 프레임에서 지역적인 조명 변화나 시점 변화가 발생할 경우 효율적인 부호화가 어렵다. 즉, 현재 블록의 위치에서 조명 변화 또는 시점 변화가 발생하여 화소값이 커질 경우, 기존의 방식으로 생성된 예측 블록을 이용하여 움직임 보상을 하면 잔여 신호의 크기가 커지기 때문에 부호화 효율이 저하되는 문제점이 있다.
전술한 문제점을 해결하기 위해 본 발명은, 영상을 인터 예측 부호화할 때, 부호화하고자 하는 블록과 예측 블록의 차이를 줄여 압축 효율을 향상시키는 데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명의 제1 실시예는, 예측 부호화를 위한 인터 예측 방법에 있어서, 현재 블록의 움직임을 추정하여 현재 움직임 벡터를 결정하는 단계; 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하는 단계; 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하는 단계; 참조 블록에 움직임 보상 계수를 반영하여 변경 참조 블록을 생성하는 단계; 및 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 단계를 포함하는 것을 특징으로 하는 인터 예측 방법을 제공한다.
또한, 본 발명의 제1 실시예에서의 다른 목적에 의하면, 예측 부호화를 위한 인터 예측 장치에 있어서, 현재 블록의 움직임을 추정하여 현재 움직임 벡터를 결정하는 움직임 추정기; 현재 움직임 벡터에 의해 지시되는 참조 블록의 참조 블록 인접 화소와 현재 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하는 움직임 보상 계수 계산기; 및 참조 블록에 움직임 보상 계수를 반영하여 변경 참조 블록을 현재 블록을 생성하고, 변경 참조 블록을 예측 블록으로서 결정하는 움직임 보상기를 포함하는 것을 특징으로 하는 인터 예측 장치를 제공한다.
또한, 본 발명의 제1 실시예에서의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 단계; 현재 블록과 예측 블록을 감산하여 잔여 블록을 생성하는 단계; 및 잔여 블록을 부호화하여 부호화 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 제1 실시예에서의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 예측기; 현재 블록과 예측 블록을 감산하여 잔여 블록을 생성하는 감산기; 및 잔여 블록을 부호화하여 부호화 데이터를 생성하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 제1 실시예에서의 또 다른 목적에 의하면, 예측 복호화를 위한 인터 예측 방법에 있어서, 부호화 데이터를 복호화하여 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하는 단계; 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하는 단계; 참조 블록에 움직임 보상 계수를 반영하여 변경 참조 블록을 생성하는 단계; 및 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 단계를 포함하는 것을 특징으로 하는 인터 예측 방법을 제공한다.
또한, 본 발명의 제1 실시예에서의 또 다른 목적에 의하면, 예측 복호화를 위한 인터 예측 장치에 있어서, 부호화 데이터를 복호화하여 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하고, 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하는 움직임 보상 계수 계산기; 및 참조 블록에 움직임 보상 계수를 반영하여 변경 참조 블록을 생성하고, 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 움직임 보상기를 포함하는 것을 특징으로 하는 인터 예측 장치를 제공한다.
또한, 본 발명의 제1 실시예에서의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 부호화 데이터를 복호화하여 현재 움직임 벡터 및 잔여 블록을 복원하는 단계; 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 단계; 및 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
또한, 본 발명의 제1 실시예에서의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 부호화 데이터를 복호화하여 현재 움직임 벡터 및 잔여 블록을 복원하는 복호화기; 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로 생성하는 예측기; 및 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
본 발명의 제2 실시예는, 예측 부호화를 위한 인터 예측 방법에 있어서, 현재 블록의 움직임을 추정하여 현재 블록의 움직임 정보를 결정하는 단계; 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하는 단계; 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산하는 단계; 참조 블록에 평균 보상 계수를 반영하여 변경 참조 블록을 생성하는 단계; 및 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 단계를 포함하는 것을 특징으로 하는 인터 예측 방법을 제공한다.
또한, 본 발명의 제2 실시예에서의 다른 목적에 의하면, 예측 부호화를 위한 인터 예측 장치에 있어서, 현재 블록의 움직임을 추정하여 현재 블록의 움직임 정보를 결정하는 움직임 추정기; 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하고, 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산하는 평균 보상 계수 계산기; 및 참조 블록에 평균 보상 계수를 반영하여 변경 참조 블록을 생성하고, 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 움직임 보상기를 포함하는 것을 특징으로 하는 인터 예측 장치를 제공한다.
또한, 본 발명의 제2 실시예에서의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 움직임 정보에 의해 지시되는 참조 블록에 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 단계; 현재 블록과 예측 블록을 감산하여 잔여 블록을 생성하는 단계; 및 잔여 블록을 부호화하여 부호화 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 제2 실시예에서의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 움직임 정보에 의해 지시되는 참조 블록에 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 예측기; 현재 블록과 예측 블록을 감산하여 잔여 블록을 생성하는 감산기; 및 잔여 블록을 부호화하여 부호화 데이터를 생성하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
또한, 본 발명의 제2 실시예에서의 또 다른 목적에 의하면, 예측 복호화를 위한 인터 예측 방법에 있어서, 부호화 데이터를 복호화하여 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하는 단계; 복원되는 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산하는 단계; 참조 블록에 평균 보상 계수를 반영하여 변경 참조 블록을 생성하는 단계; 및 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 단계를 포함하는 것을 특징으로 하는 인터 예측 방법을 제공한다.
또한, 본 발명의 제2 실시예에서의 또 다른 목적에 의하면, 예측 복호화를 위한 인터 예측 장치에 있어서, 부호화 데이터를 복호화하여 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하고, 복원되는 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산하는 평균 보상 계수 계산기; 및 참조 블록에 평균 보상 계수를 반영하여 변경 참조 블록을 생성하고, 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 움직임 보상기를 포함하는 것을 특징으로 하는 인터 예측 장치를 제공한다.
또한, 본 발명의 제2 실시예에서의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 부호화 데이터를 복호화하여 현재 블록의 움직임 정보 및 잔여 블록을 복원하는 단계; 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록에 복원되는 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 단계; 및 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
또한, 본 발명의 제2 실시예에서의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 부호화 데이터를 복호화하여 현재 블록의 움직임 정보 및 잔여 블록을 복원하는 복호화기; 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록에 복원되는 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 예측기; 및 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
이상에서 설명한 바와 같이 본 발명에 의하면, 부호화하고자 하는 블록을 더욱 정확하게 예측함으로써 실제 블록과 예측된 블록 간의 차이를 줄여 압축 효율을 향상시킬 수 있다.
도 1은 본 발명의 제1 실시예에 따른 영상 부호화 장치의 구성을 간략하게 나타낸 블록 구성도,
도 2는 본 발명의 제1 실시예에 따른 예측 부호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도,
도 3은 본 발명의 제1 실시예에 따라 움직임 보상 계수를 계산하기 위한 인접 화소들을 나타낸 예시도,
도 4는 본 발명의 제1 실시예에 따른 인터 예측 모드별 인접 화소를 설명하기 위한 예시도,
도 5는 본 발명의 제1 실시예에 따른 예측 부호화를 위한 인터 예측 방법의 일 예를 설명하기 위한 순서도,
도 6은 본 발명의 제1 실시예에 따른 예측 부호화를 위한 인터 예측 방법의 다른 예를 설명하기 위한 순서도,
도 7은 본 발명의 제1 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 8은 본 발명의 제1 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 9는 본 발명의 제1 실시예에 따른 예측 복호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도,
도 10은 본 발명의 제1 실시예에 따른 예측 복호화를 위한 인터 예측 방법의 일 예를 설명하기 위한 순서도,
도 11은 본 발명의 제1 실시예에 따른 예측 복호화를 위한 인터 예측 방법의 다른 예를 설명하기 위한 순서도,
도 12는 본 발명의 제1 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,
도 13은 본 발명의 제2 실시예에 따른 영상 부호화 장치의 구성을 간략하게 나타낸 블록 구성도,
도 14는 본 발명의 제2 실시예에 따른 예측 부호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도,
도 15는 본 발명의 제2 실시예에 따라 평균 보상 계수를 계산하기 위한 인접 화소들을 나타낸 예시도,
도 16은 본 발명의 제2 실시예에 따라 평균 보상 계수를 계산하기 위해 선택되는 현재 블록의 주변 블록과 참조 블록의 주변 블록과 그에 따른 인접 화소들을 나타낸 예시도,
도 17은 본 발명의 제2 실시예에 따른 예측 부호화를 위한 인터 예측 방법을 설명하기 위한 순서도,
도 18은 본 발명의 제2 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,
도 19는 본 발명의 제2 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,
도 20은 본 발명의 제2 실시예에 따른 예측 복호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도,
도 21은 본 발명의 제2 실시예에 따른 예측 복호화를 위한 인터 예측 방법을 설명하기 위한 순서도,
도 22는 본 발명의 제2 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus) 또는 인터 예측 장치(Inter Prediction Apparatus)는 개인용 컴퓨터(PC: Personal Computer), TV, 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등과 같은 사용자 단말기이거나 서버 컴퓨터 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 인터 예측을 수행하거나 그를 이용하여 영상을 부호화하거나 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
영상 부호화 장치와 영상 복호화 장치에는 움직임 추정 및 움직임 보상을 이용한 인터 예측뿐만 아니라 인트라 예측을 수행하기 위한 기능이 구비될 수 있지만, 본 발명의 실시예와 직접적인 관계가 없기 때문에, 혼란을 방지하기 위해 상세한 설명을 생략한다.
통상적으로 동영상은 일련의 픽처(Picture)로 구성되어 있으며, 각 픽처들은 블록(Block)으로 분할된다. 각 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류된다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 픽처를 참조 픽처(Reference Picture)라고 한다.
한편, 통상적인 방식의 인터 예측 부호화에서는 현재 블록과 동일한 크기의 예측 블록을 생성하고, 현재 블록과 예측 블록에서 동일한 위치의 화소 값끼리 감산하여 잔여 블록을 생성한다. 예를 들어, 16x16 크기의 현재 블록을 동일한 크기의 예측 블록과 감산하여 잔여 블록을 생성하는 경우, 잔여 블록은 수학식 1과 같이 나타낼 수 있다.
수학식 1
Figure PCTKR2010006518-appb-M000001
수학식 1에서, original은 현재 블록을 나타내고, reference는 움직임 보상을 수행하여 생성되는 예측 블록을 나타내며, residual은 현재 블록에서 예측 블록을 감산하여 생성되는 잔여 블록을 나타낸다. 그리고 ij는 각 블록의 화소 위치를 나타낸다.
H.264에서는 인터 예측 부호화를 사용하기 때문에, 인터 예측 부호화를 사용하지 않는 다른 예측 방식 부호화 방식과 비교할 때 압축 효율을 향상시킬 수 있다. 하지만, H.264와 같은 통상적인 인터 예측 부호화에서는 현재 블록과 예측 블록의 화소만을 이용하여 잔여 블록을 생성하기 때문에, 예측 블록을 생성하는 참조 픽처와 현재 픽처에서 시점 또는 조명의 변화가 발생하는 경우 효율적인 예측 부호화를 수행할 수 없다. 예를 들어, 현재 블록을 포함한 영역에서 지역적으로 밝기가 어두워지거나 밝아질 경우, 기존의 방법과 같이 움직임 보상을 수행하여 인터 예측하고 잔여 블록을 생성한다면 밝기 변화를 반영한 움직임 보상을 수행할 수 없기 때문에 잔여 블록의 값이 상대적으로 커져서 효율적인 예측 부호화가 어렵게 된다.
본 발명의 제1 실시예 및 제2 실시예에서는 현재 블록과 예측 블록만을 이용하여 움직임 보상 수행하는 기존의 인터 예측 부호화 방식과는 달리, 현재 블록 인접 화소와 예측 블록 인접 화소를 이용하여 블록의 특성이 반영된 움직임 보상을 수행함으로써 인터 예측 부호화를 수행한다. 이때, 블록의 특성이란 지역적인 조명 변화 혹은 시점 변화일 수 있는데, 이러한 블록 특성을 고려하기 위해 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 현재 블록의 움직임을 더욱 정확하게 보상하여 예측의 정확도를 높이고 그에 따라 압축 효율을 향상시킬 수 있다.
부호화하고자 하는 입력 영상(Input Video)의 각 픽처(Picture)는 매크로블록(Macroblock) 단위로 입력될 수 있다. 본 발명의 제1 및 제2 실시예에서, 매크로 블록은 MxN 형태이며, M과 N은 2n의 크기를 가지고 M과 N이 동일할 수 있다. 따라서, 본 발명의 제1 및 제2 실시예에 따른 매크로블록은 H.264의 매크로블록과 동일하거나 클 수 있다.
도 1은 본 발명의 제1 실시예에 따른 영상 부호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
본 발명의 제1 실시예에 따른 영상 부호화 장치(100)는 영상을 부호화하는 장치로서, 예측기(Predictor, 110), 감산기(Subtracter, 130), 변환기 및 양자화기(Transformer and Quantizer, 130), 부호화기(Encoder, 140), 역 양자화기 및 역 변환기(Inverse Quantizer and Inverse Transformer, 150), 가산기(Adder, 160) 및 참조 픽처 메모리(Reference Picture Memory, 170)를 포함하여 구성될 수 있다.
예측기(110)는 부호하고자 하는 블록(예를 들어, 매크로블록 또는 서브블록 등, 이하에서는 '현재 블록(Current Block)'이라 약칭함)을 인터 예측하여 예측 블록(Predicted Block)을 생성한다. 즉, 예측기(110)는 이미 부호화하고 다시 복호화하여 복원된 이전 픽처에서 인터 예측 모드(Inter Prediction Mode)에 따라 현재 블록의 움직임을 추정하여 움직임 벡터(Motion Vector)를 생성하고, 움직임 벡터를 이용하여 현재 블록의 움직임을 보상함으로써 예측 블록을 생성한다.
또한, 예측기(110)는 현재 블록의 움직임을 보상하여 예측 블록을 생성할 때, 현재 블록의 인접 화소(이하 '현재 블록 인접 화소(Current Block Adjacent Pixel)'라 칭함)와 참조 블록의 인접 화소(이하 '참조 블록 인접 화소(Reference Block Adjacent Pixel'이라 칭함)를 이용하여 예측 블록을 생성할 수 있다. 즉, 예측기(110)는 현재 블록의 움직임을 추정하여 결정되는 현재 블록의 움직임 벡터(이하 '현재 움직임 벡터(Current Motion Vector)'라 칭함)에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수(Motion Compensation Coefficient)를 반영하여 변경 참조 블록(Changed Reference Block)을 생성하고, 변경 참조 블록을 현재 블록의 예측 블록으로서 생성할 수 있다.
이를 위해, 예측기(110)는 참조 블록과 변경 참조 블록 중에 더욱 효율적인 블록을 현재 블록의 예측 블록으로 결정할 수 있다. 즉, 예측기(110)는 움직임 보상 계수의 사용을 결정하기 위해, 율-왜곡 최적화와 같은 방식을 사용하거나 인접 화소의 특성을 분석하여 참조 블록과 변경 참조 블록 중 현재 블록의 예측 블록으로 사용할 블록을 결정할 수 있다. 예측기(110)에 대해서는 후술하는 과정에서 도 2를 통해 상세히 설명한다.
감산기(120)는 현재 블록에서 예측 블록을 감산하여 잔여 블록(Residual Block)을 생성한다. 즉, 감산기(130)는 현재 블록의 화소값과 예측기(110)에서 생성된 예측 블록의 화소값을 감산하여 잔여 신호(Residual Signal)를 가지는 잔여 블록을 생성한다.
변환기 및 양자화기(130)는 감산기(120)에서 생성된 잔여 블록을 주파수 영역으로 변환하고 양자화한다. 즉, 변환기 및 양자화기는(130)는 감산기(130)에 의해 생성된 잔여 블록의 잔여 신호를 주파수 영역으로 변환하여 변환 계수(Transform Coefficient)를 가지는 변환된 잔여 블록을 생성하고 변환된 잔여 블록의 변환 계수를 양자화하여 양자화된 잔여 블록을 생성한다. 이때, 사용되는 변환 방식으로는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반의 정수 변환(Discrete Cosine Transform Based Integer Transform) 등과 같은 공간 영역의 화상 신호를 주파수 영역으로 변환하는 기법이 사용되고, 양자화 방식으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등과 같은 다양한 양자화 기법이 이용될 수 있다.
부호화기(140)는 변환기 및 양자화기(130)에 의해 변환되고 양자화된 잔여 블록의 양자화된 변환 계수를 부호화하여 부호화 데이터를 생성한다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술을 사용할 수 있을 것이다.
또한, 부호화기(140)는 양자화된 변환 계수들을 부호화한 비트열뿐만 아니라 부호화된 비트열을 복호화하는 데 필요한 다양한 정보들을 부호화 데이터에 포함시킬 수 있다. 즉, 부호화 데이터는 부호화된 블록 형태(CBP: Coded Block Pattern), 델타 양자화 계수(Delta Quantization Parameter) 및 양자화된 변환 계수가 부호화 된 비트열이 포함되는 제 1 필드와 예측에 필요한 정보(예를 들어, 인트라 예측의 경우 인트라 예측 모드 또는 인터 예측의 경우 움직임 벡터 등)를 위한 비트가 포함되는 제 2 필드를 포함할 수 있다.
이때, 부호화기(140)는 움직임 보상 계수를 사용함을 나타내는 움직임 보상 계수 사용 정보를 부호화 데이터에 포함시킬 수 있다. 하지만, 이러한 움직임 보상 계수 사용 정보는 반드시 부호화 데이터에 포함되어야 하는 것은 아니며, 어떠한 조건을 이용하여 움직임 보상 계수가 반영된 변경 참조 블록이 현재 블록의 예측 블록으로 결정되는지 여부에 따라 부호화 데이터에 포함되거나 포함되지 않을 수 있다. 이에 대해서는 후술하는 과정에서 도 2를 통해 상세히 설명한다.
한편, 이러한 변환기 및 양자화기(130)의 기능이 부호화기(140)에 통합되어 구현될 수도 있다. 즉, 하나의 부호화기로 구현되는 경우, 부호화기는 잔여 블록을 부호화하여 부호화 데이터를 생성한다.
역 양자화기 및 역 변환기(150)는 변환기 및 양자화기(130)에 의해 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원한다. 즉, 역 양자화기 및 역 변환기(150)는 변환기 및 양자화기(130)로부터 전달되는 양자화된 잔여 블록을 역 양자화하고 변환 계수를 가지는 잔여 블록을 복원하고, 변환 계수를 가지는 잔여 블록을 다시 역 변환하여 잔여 신호를 가지는 잔여 블록을 복원한다.
가산기(160)는 예측기(110)에서 생성된 예측 블록과 역 양자화기 및 역 변환기(150)에 의해 복원된 잔여 블록을 가산하여 현재 블록을 복원한다.
참조 픽처 메모리(170)는 가산기(160)에서 복원된 현재 블록을 픽처 단위로 누적하여 참조 픽처로서 저장하며, 저장되는 참조 픽처는 예측기(110)에서 다음 블록 또는 다음 픽처를 예측할 때 이용된다.
도 1에서는 도시하지 않았지만, 전술한 본 발명의 제1 실시예에 따른 영상 부호화 장치(100)는 인트라 예측(Intra Prediction)을 위한 인트라 예측기, 복원된 현재 블록을 디블로킹 필터링(Deblocking Filtering)하는 디블록킹 필터 등을 추가로 포함할 수 있다. 또한, 변환기 및 양자화기(130) 및 역 양자화기 및 역 변환기(150)는 특정 픽처(예를 들어, 인트라 픽처)에 대한 변환 및 양자화(또는 역 변환 및 역 양자화) 연산을 추가로 수행할 수도 있다. 여기서, 디블로킹 필터링이란 영상을 블록 단위로 부호화하면서 발생하는 블록 왜곡을 감소시키는 작업을 말하며, 블록 경계와 매크로블록 경계에 디블로킹 필터를 적용하거나 매크로블록 경계에만 디블로킹 필터를 적용하거나 디블로킹 필터를 사용하지 않는 방법 중 하나를 선택적으로 사용할 수 있다.
도 2는 본 발명의 제1 실시예에 따른 예측 부호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제1 실시예에 따른 예측 부호화를 위한 인터 예측 장치는 도 1을 통해 전술한 본 발명의 일 실시예에 따른 영상 부호화 장치(100)에서는 예측기(110)로 구현될 수 있으므로, 이하에서는 설명의 편의를 위해, 예측기(110)라 칭한다.
예측기(110)는 움직임 추정기(Motion Estimator, 210), 움직임 보상 계수 계산기(Motion Compensation Coefficient Calculator, 220) 및 움직임 보상기(Motion Compensator, 230)를 포함하여 구성될 수 있다.
움직임 추정기(210)는 현재 블록의 움직임을 추정하여 현재 움직임 벡터를 결정한다. 즉, 움직임 추정기(210)는 이전에 부호화되고 복호화되어 복원된 픽처를 확장(Up-Sampling)한 픽처에서 현재 블록과의 차이가 최소인 참조 블록의 위치를 찾아냄으로써 현재 블록의 움직임을 추정한다. 이때 픽처의 확장을 위해 화소와 화소 사이를 보간(Interpolation)할 수 있는데, 보간에 사용되는 필터는 고정된 6-탭(Tap) 필터일 수도 있고, 픽처 또는 블록 단위로 최적화된 적응적 보간 필터(Adaptive Interpolation Filter)일 수도 있다. 현재 블록과의 차이가 최소인 참조 블록을 지시하는 벡터가 현재 블록의 움직임 벡터 즉, 현재 움직임 벡터로서 얻어진다.
움직임 보상 계수 계산기(220)는 현재 움직임 벡터에 의해 지시되는 참조 블록의 참조 블록 인접 화소와 현재 블록 인접 화소를 이용하여 움직임 보상 계수를 계산한다. 즉, 움직임 보상 계수 계산기(220)는 현재 블록의 움직임을 더욱 정확하게 보상하기 위한 움직임 보상 계수를 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산한다.
도 3은 본 발명의 제1 실시예에 따라 움직임 보상 계수를 계산하기 위한 인접 화소들을 나타낸 예시도이다.
도 3을 참조하면, 움직임 보상 계수는 현재 블록 인접 화소(350)의 평균과 참조 블록 인접 화소(330)의 평균의 차로 계산될 수 있다. 현재 픽처 내의 현재 블록(340)과의 차이가 최소가 되는 참조 블록(320)을 찾아 현재 블록(340)의 움직임을 추정하면 현재 움직임 벡터(310)를 얻을 수 있다. 도 3에 도시한 바와 같이, 현재 블록 인접 화소(350)는 현재 블록(340)에 인접한 화소들이 될 수 있으며, 참조 블록 인접 화소(330)는 참조 블록(320)에 인접한 화소들이 될 수 있다.
도 4는 본 발명의 제1 실시예에 따른 인터 예측 모드별 인접 화소를 설명하기 위한 예시도이다.
도 4에서는 매크로블록의 크기가 16x16인 경우를 예를 들어 도시하였지만, 다른 크기의 매크로블록에서도 도 4와 유사하게 적용될 수 있다.
도 4에 도시한 바와 같이 인터 예측 모드가 인터 16x16 모드인 경우, 참조 블록과 현재 블록의 위쪽과 왼쪽에 각각 인접한 16 개의 인접 화소들이 참조 블록 인접 화소와 현재 블록 인접 화소로서 이용될 수 있다. 인터 예측 모드가 인터 16x8 모드인 경우, 16x8 크기의 두 개의 서브블록 모두 현재 블록의 위쪽에 인접한 16 개의 인접 화소들과 각 서브블록의 왼쪽에 인접한 8 개의 인접 화소들이 참조 블록의 인접 화소와 현재 블록의 인접 화소로서 이용될 수 있다. 인터 예측 모드가 인터 8x16 모드인 경우, 8x16 크기의 두 개의 서브블록 모두 현재 블록의 왼쪽에 인접한 16 개의 인접 화소들과 각 서브블록의 위쪽에 인접한 8 개의 인접 화소들이 참조 블록의 인접 화소와 현재 블록의 인접 화소로서 이용될 수 있다.
인터 예측 모드가 인터 8x8 모드인 경우, 8x8 크기의 서브블록 모두 현재 블록의 왼쪽에 인접한 8 개의 인접 화소들과 현재의 위쪽에 인접한 8 개의 인접 화소들이 참조 블록의 인접 화소와 현재 블록의 인접 화소로서 이용될 수 있다. 인터 예측 모드가 인터 8x4 모드인 경우, 두 개의 서브블록 모두 위쪽 화소 8개, 왼쪽 화소 4개를 참조할 수 있다. 인터 예측 모드가 인터 4x8 모드인 경우, 왼쪽 서브블록은 위쪽 화소 4개, 왼쪽 화소 8개, 오른쪽 서브블록은 위쪽, 왼쪽 화소 각각 8개를 참조할 수 있다. 인터 예측 모드가 인터 4x4 모드인 경우, 4 개의 서브블록 모두 위쪽, 왼쪽 화소 각각 4 개를 참조할 수 있다.
여기서, 움직임 보상 계수 생성을 위해 이용되는 인접 화소들은 반드시 전술한 바와 같이 이용되어야 하는 것은 아니다. 예를 들어, 4x4 또는 8x8 등의 변환의 크기에 따라서 이용되는 인접 화소들을 위쪽에 인접한 인접 화소와 왼쪽에 인접한 인접 화소 각각을 4 개 또는 8 개로 변경할 수 있으며, 인접 화소의 범위를 하나의 화소가 아닌 두 화소, 즉 위쪽 화소 4x2(8x2), 왼쪽 화소 2x4(2x8)를 참조하여 움직임 보상 계수가 생성될 수도 있다.
이와 같이 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수는 수학식 2와 같이 현재 블록 인접 화소의 평균과 참조 블록 인접 화소의 평균의 차이로 계산될 수 있다. 이러한 현재 블록 인접 화소 및 참조 블록 인접 화소는 현재 블록을 부호화하기 전에 이미 부호화되고 복호화되어 복원된 화소이다.
수학식 2
Figure PCTKR2010006518-appb-M000002
수학식 2에서, m r 은 참조 블록 인접 화소들의 평균을 나타내고, m c 는 현재 블록 인접 화소들의 평균을 나타내며, mc coeff 는 움직임 보상 계수를 나타낸다.
다시 도 2를 참조하면, 움직임 보상기(230)는 참조 블록에 움직임 보상 계수를 반영하여 변경 참조 블록을 현재 블록을 생성하고, 변경 참조 블록을 예측 블록으로 결정한다. 즉, 움직임 보상기(230)는 움직임 추정기(210)에서 얻은 현재 움직임 벡터에 의해 지시되는 참조 블록과 참조 블록에 움직임 보상 계수를 반영하여 생성되는 변경 참조 블록 중 하나를 현재 블록의 예측 블록으로서 결정한다.
일 예로, 움직임 보상기(230)는 참조 블록에 대한 부호화 비용과 변경 참조 블록에 대한 부호화 비용을 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 이를 위해, 움직임 보상기(230)는 참조 블록에 대한 부호화 비용과 변경 참조 블록에 대한 부호화 비용을 계산하고, 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 큰 경우에는 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있으며, 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 작거나 같은 경우에는 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
여기서, 참조 블록에 대한 부호화 비용이란 참조 블록을 현재 블록의 예측 블록으로 사용하여 현재 블록을 예측 부호화하는 데 소요되는 부호화 비용을 말하며, 변경 참조 블록에 대한 부호화 비용이란 변경 참조 블록을 현재 블록의 예측 블록으로 사용하여 현재 블록을 예측 부호화하는 데 소요되는 부호화 비용을 말한다. 부호화 비용으로서는 율-왜곡 비용이 이용될 수 있는데, 반드시 이에 한정되지 않고 참조 블록 또는 변경 참조 블록을 예측 블록으로 사용하여 현재 블록을 인터 예측 부호화하는 데 소요되는 비용이라면 어떠한 비용이라도 이용될 수 있다.
다른 예로, 움직임 보상기(230)는 움직임 보상 계수의 값을 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 이를 위해, 움직임 보상기(230)는 움직임 보상 계수가 '0'이 아닌 경우에는 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있으며, 움직임 보상 계수가 '0'인 경우에는 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 움직임 보상 계수가 '0'인 경우에는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로 사용하여 부호화하는 경우와 움직임 보상 계수를 반영하지 않은 참조 블록을 현재 블록의 예측 블록으로 사용하여 부호화하는 경우의 결과가 동일하므로, 움직임 보상 계수를 사용할 필요가 없기 때문이다. 또한, 움직임 보상기(230)는 움직임 보상 계수가 기 설정된 범위 내인 경우에는 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있으며, 움직임 보상 계수가 기 설정된 범위 밖인 경우에는 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 여기서, 기 설정된 범위는 상한 임계값보다 작고 하한 임계값보다 큰 범위일 수 있는데, 상한 임계값과 하한 임계값은 현재 블록 인접 화소와 참조 블록 인접 화소의 분산, 표준편차 및 상관계수 중 하나 이상을 이용하여 결정될 수 있다. 즉, 움직임 보상기(230)는 수학식 3에 나타낸 바와 같이, 움직임 보상 계수가 기 설정된 범위 내인 경우에만 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
수학식 3
Figure PCTKR2010006518-appb-M000003
수학식 3에서, mc coeff 는 움직임 보상 계수를 나타내며, Thd a 는 하한 임계값을 나타내며, Thd b 는 상한 임계값을 나타낸다.
전술한 바와 같이, 움직임 보상 계수의 값을 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 경우, 움직임 보상 계수의 값이 '0'인지 여부와 움직임 보상 계수의 값이 기 설정된 범위 내에 있는지 여부를 각각 판단하여 각각에 따라 변경 참조 블록을 현재 블록의 예측 블록으로 결정할 수도 있지만, 두 가지 조건을 결합하여 변경 참조 블록을 현재 블록의 예측 블록으로 결정할 수도 있을 것이다. 즉, 움직임 보상 계수의 값이 '0'이 아니고 기 설정된 범위 내에 있는 경우에만 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 움직임 보상 계수의 값이 '0'이거나 움직임 보상 계수의 값이 '0'이 아니지만 기 설정된 범위 밖에 있는 경우에는 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
또 다른 예로, 움직임 보상기(230)는 현재 블록 인접 화소와 참조 블록 인접 화소의 분산, 표준편차 및 상관계수 중 하나 이상을 계산하여 계산된 값이 특정 조건을 만족하는 경우에만 변경 참조 블록을 현재 블록의 예측 블록으로 결정하거나 만족하지 않는 경우에는 참조 블록을 현재 블록의 예측 블록으로 결정할 수 있다.
움직임 보상기(230)는 참조 블록의 각 화소에서 움직임 보상 계수를 감산하여 변경 참조 블록을 생성할 수 있다. 즉, 변경 참조 블록의 각 화소는 참조 블록의 각 화소의 화소값에서 움직임 보상 계수를 뺀 차이값을 가진다. 이때, 각 화소의 화소값에서 움직임 보상 계수를 뺀 차이값이 화소가 표현되는 값의 범위를 벗어날 수 있으므로, 움직임 보상기(230)는 참조 블록의 각 화소에서 움직임 보상 계수를 감산한 값을 화소가 표현되는 값의 범위 내로 제한하여 변경 참조 블록을 생성할 수 있다.
예를 들어, 현재 블록, 참조 블록, 변경 참조 블록 등의 각 화소가 8 비트로 표현되는 값을 가지는 경우, 화소가 가질 수 있는 값은 0 내지 255 중 하나이다. 만약, 참조 블록의 각 화소 중 어느 화소가 '1'의 값을 가지고 움직임 보상 계수가 '3'으로 계산된다면, 변경 참조 블록에서 해당 화소는 '-2'의 값을 가지게 되어 화소가 표현되는 값의 범위를 벗어나게 된다. 따라서, 이 경우에는 0 내지 255 중 하나의 값으로 제한해서 그 중 최소값을 가지는 '0'의 값을 가지도록 변경 참조 블록의 해당 화소의 화소값을 변경한다.
이와 같이 생성되는 변경 참조 블록을 현재 블록의 예측 블록으로 결정하여 잔여 블록을 계산하면, 잔여 블록은 수학식 4와 같이 계산될 수 있다.
수학식 4
Figure PCTKR2010006518-appb-M000004
수학식 4에서, original ij 는 현재 블록의 각 화소를 나타내고, referencek ij 는 참조 블록의 각 화소를 나타내며, residual ij 는 잔여 블록의 각 화소를 나타낸다. 여기서, clip(reference ij - mc coeff )은 변경 참조 블록의 각 화소를 나타내는데, clip() 함수는 변경 참조 블록의 각 화소인 reference ij - mc coeff 의 값이 화소가 표현되는 값의 범위(예를 들어, 화소값이 8비트로 표현되는 경우, 0 이상 255 이하) 내의 값을 갖도록 최소값과 최대값을 제한한다.
움직임 보상기(230)는 움직임 보상 계수를 적용하여 현재 블록의 움직임을 추가로 추정하여 현재 움직임 벡터를 재조정(Refinement)할 수 있다. 즉, 움직임 보상기(230)는 움직임 추정기(210)에서 결정된 현재 움직임 벡터가 지시하는 화소 주변의 임의의 범위(예를 들어, ±α 화소)에 대해 움직임 보상 계수를 적용하여 움직임 추정을 추가로 수행함으로써 지역적인 조명 변화나 시점 변화가 발생한 영역의 블록(또는 매크로블록)에 대해 더욱 정확한 예측을 수행하여 부호화 효율을 더욱 높일 수 있다.
예를 들어, 현재 움직임 벡터가 (2, 4)이고, 임의의 범위를 결정하는 α를 '1'로 설정한 경우, (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 3), (3, 4), (3, 5)의 위치에 대하여 움직임 보상 계수를 사용한 움직임 보상을 수행하고, 각 위치에 대한 부호화 비용(예를 들어, 율-왜곡 비용, SAD(Sum of Absolute Difference), SATD(Sum of Absolute Transformed Difference) 또는 SSD(Sum of Squared Difference) 등)을 비교하여 최적의 움직임 벡터를 구함으로써 구해진 최적의 움직임 벡터를 현재 움직임 벡터로서 최종적으로 결정할 수 있다. 여기서, α는 구현 방식이나 조건에 따라 적합하게 설정될 수 있으며, α가 커질수록 부호화 효율이 높아질 수 있다.
또한, 움직임 보상기(230)는 변경 참조 블록을 현재 블록의 예측 블록으로 결정할지 여부를 블록 단위가 아닌 프레임 단위로 결정할 수 있다. 이를 위해, 움직임 보상기(230)는 부호화하고자 하는 현재 프레임을 움직임 보상 계수를 사용하여 부호화한 경우에 대한 부호화 비용과 움직임 보상 계수를 사용하지 않고 부호화한 경우에 대한 부호화 비용을 계산하여 부호화 비용이 작은 방식으로 현재 프레임을 부호화함으로써, 각 프레임을 적응적으로 부호화할 수 있다. 이때, 각 프레임마다 움직임 보상 계수를 적용하여 부호화했는지 여부를 식별하기 위한 움직임 보상 계수 사용 정보를 추가로 부호화 데이터에 포함시킨다.
이하에서는 도 2를 통해 전술한 예측기(110)가 수행하는 예측 부호화를 위한 인터 예측 방법에 대해 설명한다.
예측 부호화를 위한 인터 예측 방법에 따르면, 예측기(110)는 현재 블록의 움직임을 추정하여 현재 움직임 벡터를 결정하고, 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하며, 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하며, 참조 블록에 움직임 보상 계수를 반영하여 변경 참조 블록을 생성하며, 변경 참조 블록을 현재 블록의 예측 블록으로서 결정한다.
여기서, 예측기(110)는 참조 블록에 대한 부호화 비용과 변경 참조 블록에 대한 부호화 비용을 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 이를 위해, 예측기(110)는 참조 블록에 대한 부호화 비용을 계산하고, 변경 참조 블록에 대한 부호화 비용을 계산하며, 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 큰 경우, 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하며, 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 작거나 같은 경우, 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
또한, 예측기(110)는 움직임 보상 계수의 값을 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 이를 위해, 예측기(110)는 움직임 보상 계수가 '0'이 아닌 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고 움직임 보상 계수가 '0'인 경우 참조 블록을 현재 블록의 예측 블록으로서 결정하거나, 움직임 보상 계수가 기 설정된 범위 내인 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고 움직임 보상 계수가 기 설정된 범위 밖인 경, 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 여기서, 기 설정된 범위는 상한 임계값보다 작고 하한 임계값보다 큰 범위이며, 상한 임계값과 하한 임계값은 현재 블록 인접 화소와 참조 블록 인접 화소의 분산, 표준편차 및 상관계수 중 하나 이상을 이용하여 결정될 수 있다.
또한, 예측기(110)는 움직임 보상 계수를 적용하여 현재 블록의 움직임을 추가로 추정하여 현재 움직임 벡터를 재조정할 수 있다.
또한, 움직임 보상 계수는 현재 블록 인접 화소의 평균과 참조 블록 인접 화소의 평균의 차일 수 있으며, 현재 블록 인접 화소 및 참조 블록 인접 화소는 현재 블록을 부호화하기 전에 이미 부호화되고 복호화되어 복원된 화소일 수 있다.
또한, 예측기(110)는 참조 블록의 각 화소에서 움직임 보상 계수를 감산하여 변경 참조 블록을 생성할 수 있는데, 참조 블록의 각 화소에서 움직임 보상 계수를 감산한 값을 화소가 표현되는 값의 범위 내로 제한하여 변경 참조 블록을 생성할 수 있다.
도 5는 본 발명의 제1 실시예에 따른 예측 부호화를 위한 인터 예측 방법의 일 예를 설명하기 위한 순서도이다.
전술한 본 발명의 제1 실시예에 따른 예측 부호화를 위한 인터 예측 방법은 도 5에 도시한 바와 같이 구현될 수 있다. 즉, 예측기(110)는 부호화 비용을 기초로 움직임 보상 계수를 적용하여 현재 블록의 움직임 보상을 수행할지 여부를 결정하여 예측 블록을 생성할 수 있다. 도 5를 참조하면, 예측기(110)는 현재 블록의 움직임을 추정하여 현재 움직임 벡터를 결정하고(S510), 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하여(S520), 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하며(S530), 움직임 보상 계수를 반영한 변경 참조 블록을 생성하며(S540), 참조 블록에 대한 부호화 비용을 계산하고(S550), 변경 참조 블록에 대한 부호화 비용을 계산한다(S560). 예측기(110)는 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 큰지 여부를 판단하여(S870), 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 큰 경우에는 변경 참조 블록을 예측 블록으로서 결정하고(S580), 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 작거나 같은 경우에는 참조 블록을 예측 블록으로서 결정할 수 있다.
도 6은 본 발명의 제1 실시예에 따른 예측 부호화를 위한 인터 예측 방법의 다른 예를 설명하기 위한 순서도이다.
전술한 본 발명의 제1 실시예에 따른 예측 부호화를 위한 인터 예측 방법은 도 6에 도시한 바와 같이 구현될 수 있다. 즉, 예측기(110)는 움직임 보상 계수의 값을 기초로 움직임 보상 계수를 적용하여 현재 블록의 움직임 보상을 수행할지 여부를 결정하여 예측 블록을 생성할 수 있다. 도 6을 참조하면, 예측기(110)는 현재 블록의 움직임을 추정하여 현재 움직임 벡터를 결정하고(S610), 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하여(S620), 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하며(S630), 움직임 보상 계수를 반영한 변경 참조 블록을 생성하며(S640), 움직임 보상 계수가 '0'인지 여부를 판단하여(S650), 움직임 보상 계수가 '0'이 아니면 움직임 보상 계수가 기 설정된 범위 내인지 여부 즉, 하한 임계값보다 크고 상한 임계값보다 작은지 여부를 판단하여(S660), 움직임 보상 계수가 기 설정된 범위 내이면 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고(S670), 단계 S650에서의 판단 결과가 움직임 보상 계수가 '0'이거나 단계S660에서의 판단 결과가 움직임 보상 계수가 기 설정된 범위 밖인 경우에는 참조 블록을 예측 블록으로서 결정한다(S680).
도 6에서는 단계 S650과 단계 S660이 모두 수행되는 것으로 도시하고 설명했지만, 단계 S650과 단계 S660 중 하나만이 수행될 수도 있다. 즉, 예측기(110)는 반드시 움직임 보상 계수의 값이 '0'이 아니고 기 설정된 범위 내인 경우에만 변경 참조 블록을 현재 블록의 예측 블록으로서 결정해야 하는 것은 아니며, 움직임 보상 계수의 값이 '0'이 아니면 기 설정된 범위 내인지 여부에 관계 없이 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있으며, 마찬가지로 움직임 보상 계수의 값이 기 설정된 범위 내에 있으면 '0'이어도 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
또한, 도 5 및 도 6을 통해 전술한 각 단계는 모두 반드시 수행되어야 하는 것은 아니며, 일부의 단계가 선택적으로 생략되거나 추가될 수도 있다. 또한, 각 단계의 순서도 반드시 도시된 바와 같이 정해지는 것은 아니며, 일부 또는 전분의 단계의 순서가 변경되거나 심지어는 병행적으로 수행될 수도 있다.
도 7은 본 발명의 제1 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
영상 부호화 장치(100)는 현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하고(S710), 현재 블록과 예측 블록을 감산하여 잔여 블록을 생성하며(S720), 잔여 블록을 부호화하여 부호화 데이터를 생성한다.
단계 S710에서, 영상 부호화 장치(100)는 참조 블록에 대한 부호화 비용과 변경 참조 블록에 대한 부호화 비용을 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 생성할 수 있으며, 이 경우 움직임 보상 계수를 사용함을 나타내는 움직임 보상 계수 사용 정보를 부호화 데이터에 포함시킬 수 있다. 예를 들어, 영상 부호화 장치(100)는 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 커서 변경 참조 블록을 현재 블록의 예측 블록으로서 생성한 경우, 움직임 보상 계수를 사용함을 나타내는 움직임 보상 계수 사용 정보(예를 들어, 플래그 '1')를 부호화 데이터에 포함시키며, 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 작거나 같아서 참조 블록을 현재 블록의 예측 블록으로서 생성하는 경우, 움직임 보상 계수를 사용하지 않음을 나타내는 움직임 보상 계수 사용 정보(예를 들어, 플래그 '0')를 부호화 데이터에 포함시키지 않는다.
또한, 단계 S710에서, 영상 부호화 장치(100)는 움직임 보상 계수의 값을 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 생성할 수 있으며, 이 경우 움직임 보상 계수를 사용함을 나타낸 움직임 보상 계수 사용 정보를 생성하지 않거나 생성하는 경우에도 부호화 데이터에 포함시키지 않을 수 있다. 움직임 보상 계수의 값을 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 경우, 움직임 보상 계수 사용 정보를 부호화 데이터에 포함시키지 않아도, 후술하는 영상 복호화 장치에서 움직임 보상 계수를 적용하여 해당 블록의 움직임을 보상할지 여부를 판단할 수 있기 때문이다.
도 8은 본 발명의 제1 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제1 실시예에 따른 영상 복호화 장치(800)는 복호화기(810), 역 양자화기 및 역 변환기(820), 예측기(830), 가산기(840) 및 참조 픽처 메모리(850)를 포함하여 구성될 수 있다.
복호화기(810)는 부호화 데이터를 복호화하여 현재 움직임 벡터와 양자화된 변환 계수를 가지는 양자화된 잔여 블록을 복원한다. 즉, 복호화기(810)는 부호화 데이터를 복호화하여 양자화 변환 계수열을 추출하고, 양자화 변환 계수열을 역 지그재그 스캔 등 다양한 역 스캐닝 방식으로 역 스캐닝하여 양자화 변환 계수를 가지는 잔여 블록을 복원한다. 이때, 복호화기(810)는 부호화 데이터에 포함된 제 1 필드에서 부호화된 잔여 블록을 추출하여 복호화할 수 있고, 부호화 데이터에 포함된 제 2 필드에서 예측에 필요한 정보를 추출하거나 추출된 정보를 복호화할 수 있으며, 추출되거나 추출되어 복호화된 예측에 필요한 정보를 예측기(830)로 전달하여, 예측기(830)가 영상 부호화 장치(100)의 예측기(110)와 동일한 방식으로 현재 블록을 예측하도록 할 수 있다. 또한, 복호화기(830)는 부호화 데이터의 제 2 필드에 움직임 보상 계수 사용 정보가 포함된 경우에는 움직임 보상 계수 사용 정보를 추출하여 예측기(830)로 전달할 수 있다.
역 양자화기 및 역 변환기(820)는 복호화기(810)에 의해 복호화되어 복원되는 양자화된 잔여 블록을 역 양자화하여 역 양자화된 잔여 블록을 생성하고 역 양자화된 잔여 블록을 역 변환하여 잔여 신호를 가지는 잔여 블록을 복원한다.
도 8에서는 복호화기(810)와 역 양자화기 및 역 변환기(820)가 각각 독립적으로 구현되는 것으로 도시하고 설명했지만, 복호화기(810)와 역 양자화기 및 역 변환기(820) 각각의 기능이 통합되어 하나의 복호화기로서 구현될 수도 있다. 이와 같이 복호화기가 복호화기(810)와 역 양자화기 및 역 변환기(820) 각각의 기능이 통합되어 구현되는 경우, 복호화기는 부호화 데이터를 복호화하여 현재 움직임 벡터 및 잔여 블록을 복원할 수 있으며, 필요한 경우 부호화 데이터로부터 움직임 보상 계수 사용 정보를 추출할 수 있다.
예측기(830)는 부호화 데이터로부터 복호화되어 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로 생성한다. 즉, 예측기(830)는 복호화기(810)로부터 현재 움직임 벡터, 움직임 보상 계수 사용 정보 등과 같은 예측에 필요한 정보를 이용하여 현재 블록에 대한 예측 블록을 생성한다. 이때, 예측기(830)는 복호화기(610)로부터 움직임 보상 계수 사용 정보를 전달받으면, 예측 블록을 생성할 때 전달된 움직임 보상 계수 사용 정보를 기초로 움직임 보상 계수를 적용하여 현재 블록의 움직임을 보상할지 여부를 결정하여 예측 블록을 생성할 수 있다. 예측기(830)에 대해서는 후술하는 과정에서 도 9를 통해 상세히 설명한다.
가산기(840)는 역 양자화기 및 역 변환기(820)에 의해 복원되는 잔여 블록과 예측기(830)에 의해 생성되는 예측 블록을 가산하여 현재 블록을 복원한다. 가산기(840)에 의해 복원되는 현재 블록은 참조 프레임 메모리(850)로 전달되어 참조 프레임 메모리(850)에서 픽처 단위로 누적되어 참조 픽처로서 저장될 수 있으며, 참조 픽처는 예측기(830)에서 다른 블록 또는 다른 프레임을 예측하는 데 활용될 수 있다.
도 8에서는 도시하지 않았지만, 전술한 본 발명의 제1 실시예에 따른 영상 복호화 장치(800)는 인트라 예측을 위한 인트라 예측기, 복원된 현재 블록을 디블로킹 필터링하는 디블록킹 필터기 등을 추가로 포함할 수 있다. 또한, 역 양자화기 및 역 변환기(820)는 특정 픽처(예를 들어, 인트라 픽처)에 대한 역 변환 및 역 양자화 연산을 추가로 수행할 수도 있다.
도 9는 본 발명의 제1 실시예에 따른 예측 복호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제1 실시예에 따른 예측 복호화를 위한 인터 예측 장치는 도 8을 통해 전술한 본 발명의 제1 실시예에 따른 영상 복호화 장치(800)에서는 예측기(830)로 구현될 수 있으므로, 이하에서는 설명의 편의를 위해, 예측기(830)라 칭한다.
예측기(830)는 움직임 보상 계수 계산기(910) 및 움직임 보상기(920)를 포함하여 구성될 수 있다.
움직임 보상 계수 계산기(910)는 부호화 데이터를 복호화하여 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하고, 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산한다. 즉, 움직임 보상 계수 계산기(910)는 복호화기(810)로부터 또는 움직임 보상기(920)로부터 복호화기(810)에 의해 복원되는 현재 움직임 벡터를 전달받으면, 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하고, 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산한다. 움직임 보상 계수 계산기(910)가 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하는 과정은 도 2 내지 도 4를 통해 전술한 움직임 보상 계수 계산기(220)에서 움직임 보상 계수를 계산하는 과정과 동일 또는 유사하므로 이에 대한 상세한 설명은 생략한다.
움직임 보상기(920)는 참조 블록에 움직임 보상 계수를 반영하여 변경 참조 블록을 생성하고, 변경 참조 블록을 현재 블록의 예측 블록으로서 결정한다. 여기서, 움직임 보상기(920)는 움직임 보상 계수 사용 정보 또는 움직임 보상 계수를 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
예를 들어, 움직임 보상 계수 계산기(910)는 복호화기(810)로부터 움직임 보상 계수 사용 정보를 전달받으면, 움직임 보상 계수 사용 정보가 움직임 보상 계수를 사용함을 나타내는 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 움직임 보상 계수 사용 정보가 움직임 보상 계수를 사용하지 않음을 나타내는 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 즉, 부호화 데이터에 움직임 보상 계수 사용 정보가 포함된 경우에는 영상 부호화 장치(100)에서 참조 블록에 대한 부호화 비용과 변경 참조 블록에 대한 부호화 비용을 기초로 움직임 보상 계수를 적용하여 현재 블록의 움직임을 보상할지 여부를 결정한 경우이므로, 움직임 보상 계수 사용 정보가 움직임 보상 계수를 사용함을 나타내는지(예를 들어, 플래그 '1') 또는 움직임 보상 계수를 사용하지 않음을 나타내는지(예를 들어, 플래그 '0') 여부를 판단하여 그에 따라 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할지 또는 참조 블록을 현재 블록의 예측 블록으로서 결정할지 여부를 결정할 수 있다.
다른 예로, 움직임 보상 계수 계산기(910)는 움직임 보상 계수가 '0'이 아닌 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고 움직임 보상 계수가 '0'인 경우 참조 블록을 현재 블록의 예측 블록으로서 결정하거나, 움직임 보상 계수가 기 설정된 범위 내인 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고 움직임 보상 계수가 기 설정된 범위 밖인 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 즉, 부호화 데이터에 움직임 보상 계수 사용 정보가 포함되지 않은 경우에는 영상 부호화 장치(100)에서 움직임 보상 계수의 값을 기초로 움직임 보상 계수를 적용하여 현재 블록의 움직임을 보상할지 여부를 결정한 경우이므로, 영상 부호화 장치(100)와 미리 약속된 방식으로 움직임 보상 계수의 값이 기 설정된 조건에 만족하는지 여부(즉, 움직임 보상 계수가 '0'인지 여부 및/또는 움직임 보상 계수가 기 설정된 범위 내인지 여부)를 판단하여 그에 따라 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할지 또는 참조 블록을 현재 블록의 예측 블록으로서 결정할지 여부를 결정할 수 있다.
이하에서는 도 8를 통해 전술한 예측기(830)가 수행하는 예측 복호화를 위한 인터 예측 방법에 대해 설명한다.
예측 복호화를 위한 인터 예측 방법에 따르면, 예측기(830)는 부호화 데이터를 복호화하여 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하고, 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하며, 참조 블록에 움직임 보상 계수를 반영하여 변경 참조 블록을 생성하며, 변경 참조 블록을 현재 블록의 예측 블록으로서 결정한다.
여기서, 예측기(830)는 부호화 데이터로부터 추출되는 움직임 보상 계수 사용 정보가 움직임 보상 계수를 사용함을 나타내는 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 움직임 보상 계수 사용 정보가 움직임 보상 계수를 사용하지 않음을 나타내는 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
또한, 예측기(830)는 움직임 보상 계수가 '0'이 아닌 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고 움직임 보상 계수가 '0'인 경우 참조 블록을 현재 블록의 예측 블록으로서 결정하거나 움직임 보상 계수가 기 설정된 범위 내인 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고 움직임 보상 계수가 기 설정된 범위 밖인 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
도 10은 본 발명의 제1 실시예에 따른 예측 복호화를 위한 인터 예측 방법의 일 예를 설명하기 위한 순서도이다.
전술한 본 발명의 제1 실시예에 따른 예측 복호화를 위한 인터 예측 방법은 도 10에 도시한 바와 같이 구현될 수 있다. 즉, 예측기(830)는 움직임 보상 계수 사용 정보를 기초로 움직임 보상 계수를 적용하여 현재 블록의 움직임 보상을 수행할지 여부를 결정하여 예측 블록을 생성할 수 있다.
도 10을 참조하면, 예측기(830)는 부호화 데이터를 복호화하여 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하고(S1010), 부호화 데이터로부터 추출되는 움직임 보상 계수 사용 정보가 움직임 보상 계수를 사용함을 나타내는지 여부를 판단하여(S1020), 움직임 보상 계수 사용 정보가 움직임 보상 계수를 사용함을 나타내는 경우에는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하고(S1030), 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하며(S1040), 단계 S1020의 판단 결과 움직임 보상 계수를 반영하지 않은 참조 블록을 현재 블록의 예측 블록으로서 결정한다(S1050).
도 11은 본 발명의 제1 실시예에 따른 예측 복호화를 위한 인터 예측 방법의 다른 예를 설명하기 위한 순서도이다.
전술한 본 발명의 제1 실시예에 따른 예측 복호화를 위한 인터 예측 방법은 도 11에 도시한 바와 같이 구현될 수 있다. 즉, 예측기(830)는 움직임 보상 계수의 값을 기초로 움직임 보상 계수를 적용하여 현재 블록의 움직임 보상을 수행할지 여부를 결정하여 예측 블록을 생성할 수 있다. 도 11을 참조하면, 예측기(830)는 부호화 데이터를 복호화하여 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하고(S1110), 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하며(S1120), 움직임 보상 계수가 '0'인지 여부를 판단하여(S1130), 움직임 보상 계수가 '0'이 아닌 경우에는 움직임 보상 계수가 기 설정된 범위 내인지 여부 즉, 하한 임계값보다 크고 상한 임계값보다 작은지 여부를 판단하여(S1140), 움직임 보상 계수가 기 설정된 범위 내이면 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고(S1150), 단계 S1130에서의 판단 결과가 움직임 보상 계수가 '0'이거나 단계S1140에서의 판단 결과가 움직임 보상 계수가 기 설정된 범위 밖인 경우에는 참조 블록을 예측 블록으로서 결정한다(S1160).
도 11에서는 단계 S1130과 단계 S1140이 모두 수행되는 것으로 도시하고 설명했지만, 단계 S1130과 단계 S1140 중 하나만이 수행될 수도 있다. 즉, 예측기(830)는 반드시 움직임 보상 계수의 값이 '0'이 아니고 기 설정된 범위 내인 경우에만 변경 참조 블록을 현재 블록의 예측 블록으로서 결정해야 하는 것은 아니며, 움직임 보상 계수의 값이 '0'이 아니면 기 설정된 범위 내인지 여부에 관계 없이 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있으며, 마찬가지로 움직임 보상 계수의 값이 기 설정된 범위 내에 있으면 '0'이어도 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
또한, 도 10 및 도 11을 통해 전술한 각 단계는 모두 반드시 수행되어야 하는 것은 아니며, 일부의 단계가 선택적으로 생략되거나 추가될 수도 있다. 또한, 각 단계의 순서도 반드시 도시된 바와 같이 정해지는 것은 아니며, 일부 또는 전분의 단계의 순서가 변경되거나 심지어는 병행적으로 수행될 수도 있다.
도 12는 본 발명의 제1 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
영상 복호화 장치(800)는 부호화 데이터를 복호화하여 현재 움직임 벡터 및 잔여 블록을 복원하고(S1210), 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하며(S720), 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원한다(S1230).
이를 위해 영상 복호화 장치(800)는 부호화 데이터로부터 움직임 보상 계수 사용 정보를 추출할 수 있다. 이 경우 단계 S720에서 영상 복호화 장치(800)는 움직임 보상 계수 사용 정보가 움직임 보상 계수를 사용함을 나타내면, 변경 참조 블록을 현재 블록의 예측 블록으로 결정하고, 움직임 보상 계수 사용 정보가 움직임 보상 계수를 사용하지 않음을 나타내는 경우 참조 블록을 현재 블록의 예측 블록으로 결정할 수 있다.
또한, 영상 복호화 장치(800)는 부호화 데이터로부터 움직임 보상 계수 사용 정보를 추출하지 않고 스스로 움직임 보상 계수의 적용 여부를 결정할 수 있다. 즉, 영상 복호화 장치(800)는 부호화 데이터로부터 움직임 보상 계수 사용 정보를 추출하지 않은 경우, 움직임 보상 계수가 '0'이 아니면 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 움직임 보상 계수가 '0'이면 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 또는, 영상 복호화 장치(800)는 움직임 보상 계수가 기 설정된 범위 내이면 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 움직임 보상 계수가 기 설정된 범위 밖이면 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
이상에서 전술한 바와 같이, 본 발명의 제1 실시예에 따르면, 영상의 특성에 따라 움직임 보상 계수를 적응적으로 계산하고 예측 블록에 반영하여 부호화하고자 하는 블록을 더욱 정확하게 예측함으로써 실제 블록과 예측된 블록 간의 차이를 줄여 압축 효율을 향상시킬 수 있다.
도 13은 본 발명의 제2 실시예에 따른 영상 부호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
본 발명의 제2 실시예에 따른 영상 부호화 장치(1300)는 영상을 부호화하는 장치로서, 예측기(Predictor, 1310), 감산기(Subtracter, 1320), 변환기 및 양자화기(Transformer and Quantizer, 1330), 부호화기(Encoder, 1340), 역 양자화기 및 역 변환기(Inverse Quantizer and Inverse Transformer, 1350), 가산기(Adder, 1360) 및 참조 픽처 메모리(Reference Picture Memory, 1370)를 포함하여 구성될 수 있다.
도 13에 도시된 바 있는 본 발명의 제2 실시예에 따른 영상 부호화 장치(1300)는 도 1을 참조하여 설명한 본 발명의 제1 실시예에 따른 영상 부호화 장치(100)와 전체적인 구성은 크게 다르지 않다. 다시 말해, 본 발명의 제2 실시예에 따른 영상 부호화 장치(1300)의 감산기(1320), 변환기 및 양자화기(1330) 등과 관련해서는 본 발명의 제1 실시예에서에 설명한 감산기(120), 변환기 및 양자화기(130) 등과 관련해 기술한 내용과 다르지 않으므로 자세한 내용들은 제1 실시예에서의 내용들로 대신하고자 하며 더 이상의 설명은 생략하고자 한다.
다만, 본 발명의 제2 실시예에 따른 영상 부호화 장치(1300)의 예측기(1310)는 평균 보상 계수를 이용하여 예측 블록을 생성하는 반면, 본 발명의 제1 실시예에 따른 영상 부호화 장치(100)의 예측기(110)는 움직임 보상 계수를 이용하여 예측 블럭을 생성한다는 점에서 서로 차이가 있으므로 이와 관련해 좀더 구체적으로 살펴보고자 한다.
예측기(1310)는 부호하고자 하는 블록(이하에서는 '현재 블록(Current Block)'이라 약칭함)을 인터 예측하여 예측 블록(Predicted Block)을 생성한다. 즉, 예측기(1310)는 이미 부호화하고 다시 복호화하여 복원된 이전 픽처에서 인터 예측 모드(Inter Prediction Mode)에 따라 현재 블록의 움직임을 추정하여 움직임 벡터(Motion Vector)와 참조 픽처 인덱스(Reference Picture Index)를 포함하는 현재 블록의 움직임 정보를 결정하고, 현재 블록의 움직임 정보를 이용하여 예측 블록을 생성한다.
또한, 예측기(1310)는 예측 블록을 생성할 때, 현재 블록의 움직임 정보와 현재 블록의 주변 블록(Neighbor Block)의 움직임 정보를 기초로 선택되는 현재 블록의 인접 화소(이하 '현재 블록 인접 화소(Current Block Adjacent Pixel)'라 칭함)와 참조 블록의 인접 화소(이하 '참조 블록 인접 화소(Reference Block Adjacent Pixel'이라 칭함)를 이용하여 예측 블록을 생성할 수 있다. 즉, 예측기(1310)는 현재 블록의 움직임을 추정하여 결정되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록에 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수(Average Compensation Coefficient)를 반영하여 변경 참조 블록(Changed Reference Block)을 생성하고, 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
여기서, 현재 블록은 매크로블록일 수도 있지만, 매크로블록으로부터 변환 단위로 분할된 서브블록일 수도 있다. 변환 단위란 변환기 및 양자화기(1330)가 잔여 블록을 변환하고 양자화하는 화소의 크기를 말하며, 16x16, 8x16, 16x8, 8x8, 8x4, 4x8, 4x4 등과 같은 다양한 크기가 될 수 있다. 주변 블록은 현재 블록과 인접한 블록 중에서 기 부호화되고 복호화되어 복원된 블록일 수 있다.
또한, 예측기(1310)는 참조 블록과 변경 참조 블록 중에 더욱 효율적인 블록을 현재 블록의 예측 블록으로 결정할 수 있다. 즉, 예측기(1310)는 평균 보상 계수의 사용을 결정하기 위해, 율-왜곡 최적화와 같은 방식을 사용하거나 인접 화소의 특성을 분석하여 참조 블록과 변경 참조 블록 중 현재 블록의 예측 블록으로 사용할 블록을 결정할 수 있다. 예측기(1310)에 대해서는 후술하는 과정에서 도 14를 통해 상세히 설명한다.
도 14는 본 발명의 제2 실시예에 따른 예측 부호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제2 실시예에 따른 예측 부호화를 위한 인터 예측 장치는 도 13을 통해 전술한 본 발명의 제2 실시예에 따른 영상 부호화 장치(1300)에서는 예측기(1310)로 구현될 수 있으므로, 이하에서는 설명의 편의를 위해, 예측기(1310)라 칭한다.
예측기(1310)는 움직임 추정기(Motion Estimator, 1410), 평균 보상 계수 계산기(Average Compensation Coefficient Calculator, 1420) 및 움직임 보상기(Motion Compensator, 1430)를 포함하여 구성될 수 있다.
움직임 추정기(1410)는 현재 블록의 움직임을 추정하여 현재 블록의 움직임 정보를 결정한다. 즉, 움직임 추정기(1410)는 이전에 부호화되고 복호화되어 복원된 픽처를 확장(Up-Sampling)한 픽처에서 현재 블록과의 차이가 최소인 참조 블록의 위치를 찾아냄으로써 현재 블록의 움직임을 추정한다. 이때 픽처의 확장을 위해 화소와 화소 사이를 보간(Interpolation)할 수 있는데, 보간에 사용되는 필터는 고정된 6-탭(Tap) 필터일 수도 있고, 픽처 또는 블록 단위로 최적화된 적응적 보간 필터(Adaptive Interpolation Filter)일 수도 있다. 현재 블록과의 차이가 최소인 참조 블록을 지시하는 움직임 벡터가 현재 블록의 움직임 벡터터로서 얻어지고, 해당 참조 블록이 포함된 참조 픽처를 지시하는 인덱스가 참조 픽처 인덱스로서 얻어진다.
평균 보상 계수 계산기(1420)는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하고, 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산한다. 즉, 평균 보상 계수 계산기(1420)는 현재 블록의 움직임을 더욱 정확하게 보상하기 위한 평균 보상 계수를 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산한다.
여기서, 평균 보상 계수 계산기(1420)는 현재 블록 인접 화소와 참조 블록 인접 화소를 선택할 때, 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록이 참조 블록이 포함되는 참조 픽처에서 참조 블록의 주변 블록인 경우, 현재 블록의 주변 블록 내에서 현재 블록과 인접한 인접 화소를 현재 블록 인접 화소로서 선택하고, 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록 내에서 참조 블록과 인접한 인접 화소를 참조 블록 인접 화소로서 선택할 수 있다.
예를 들어, 평균 보상 계수 계산기(1420)는 현재 블록의 움직임 정보에 의해 식별되는 참조 픽처 색인과 현재 블록의 주변 블록의 움직임 정보에 의해 식별되는 참조 픽처 색인이 동일하고 현재 블록의 움직임 정보에 의해 식별되는 움직임 벡터와 현재 블록의 주변 블록의 움직임 정보에 의해 식별되는 움직임 벡터의 차이가 기준 임계치 이하인 경우, 현재 블록의 주변 블록 내에서 현재 블록과 인접한 인접 화소를 현재 블록 인접 화소로서 선택하고, 현재 블록의 주변 블록의 움직임 벡터에 의해 지시되는 주변 참조 블록 내에서 참조 블록과 인접한 인접 화소를 참조 블록 인접 화소로서 선택할 수 있다. 이때, 평균 보상 계수 계산기(1420)는 현재 블록의 움직임 벡터와 현재 블록의 주변 블록의 움직임 벡터 간의 거리가 거리 임계치 이하인 경우, 현재 블록의 움직임 벡터와 현재 블록의 주변 블록의 움직임 벡터의 차이가 기준 임계치 이하인 것으로 판단할 수 있다. 또한, 평균 보상 계수 계산기(1420)는 유클리드 거리(Euclidean Distance) 또는 시티 블록 거리(City Block Distance)와 같은 다양한 기하학적 거리 측정 방식을 이용하여 현재 블록의 움직임 벡터와 현재 블록의 주변 블록의 움직임 벡터 간의 거리를 계산할 수 있다.
도 15는 본 발명의 제2 실시예에 따라 평균 보상 계수를 계산하기 위한 인접 화소들을 나타낸 예시도이다.
도 15에서는 현재 블록이 매크로블록인 경우, 현재 블록 인접 화소와 참조 블록 인접 화소로 이용될 수 있는 화소들을 예시적으로 나타내었다. 평균 보상 계수는 현재 블록 인접 화소(1550)의 평균과 참조 블록 인접 화소(1530)의 평균의 차로 계산될 수 있다. 현재 픽처 내의 현재 블록(1540)과의 차이가 최소가 되는 참조 블록(1520)을 찾아 현재 블록(1540)의 움직임을 추정하면 현재 블록의 움직임 벡터(1510)와 참조 픽처 인덱스를 얻을 수 있다. 도 15에 도시한 바와 같이, 현재 블록 인접 화소(1550)는 현재 블록(1540)에 인접한 화소들이 될 수 있으며, 참조 블록 인접 화소(1530)는 참조 블록(1520)에 인접한 화소들이 될 수 있다.
도 16은 본 발명의 제2 실시예에 따라 평균 보상 계수를 계산하기 위해 선택되는 현재 블록의 주변 블록과 참조 블록의 주변 블록과 그에 따른 인접 화소들을 나타낸 예시도이다.
도 16에서는 현재 블록이 16x16 크기의 매크로블록으로부터 변환 단위 중 하나인 4x4 크기로 분할된 4x4 크기의 서브블록인 경우, 평균 보상 계수를 계산하기 위해 이용되는 주변 블록들과 인접 화소들을 예시적으로 나타내었다. 다만, 도 16에 도시한 것은 예시적인 것일 뿐, 다른 크기의 매크로블록과 다른 크기의 서블블록에 대해서도 도 16과 유사하게 적용될 수 있다.
16A는 현재 픽처의 현재 블록, 현재 블록의 주변 블록과 현재 블록의 인접 화소를 예시적으로 나타낸 것이다. 16A에 나타낸 바와 같이, 현재 픽처의 현재 블록을 블록 C라고 가정할 때, 현재 블록의 주변 블록으로서는 블록 A, 블록 B, 블록 D가 선택될 수 있다. 따라서, 현재 블록 인접 화소는 현재 블록의 주변 블록인 블록 A, 블록 B, 블록 D 내에서 현재 블록인 블록 C와 인접한 화소들이 선택될 수 있다. 현재 블록의 인접 화소들은 ▩, ▧, ▨와 같이 빗금친 부분의 화소들이 선택될 수 있는데, 블록 A에서 현재 블록과 인접한 인접 화소는 ▩로 나타내었고, 블록 B에서 현재 블록과 인접한 인접 화소는 ▧로 나타내었으며, 블록 D에서 현재 블록과 인접한 인접 화소는 ▨로 나타내었다. 블록 E는 현재 픽처에서 현재 블록의 주변 블록으로 선택되지는 않은 블록을 대표적으로 나타낸 것이다. 나머지 빈 블록들도 각자 움직임 벡터를 가질 수 있지만 설명의 편의를 위해 생략하였다.
이때, 16A에 나타낸 바와 같이, 블록 A, 블록 B, 블록 C, 블록 D, 블록 E의 참조 픽처 인덱스가 모두 동일하고, 각 블록의 움직임 벡터가 각각 (0,4), (0,0), (0,0), (0,0), (0,-4)이라고 가정하면, 참조 픽처 인덱스가 지시하는 참조 픽처에서 각 블록들은 16B와 같이 나타내어 질 수 있다. 여기서, 현재 블록인 블록 A의 움직임 정보는 움직임 추정기(1410)에 의해 결정되는 움직임 벡터와 참조 픽처 인덱스를 이용할 수 있으며, 현재 블록의 주변 블록인 블록 A, 블록 B, 블록 D는 현재 블록을 부호화하기 전에 이미 부호화되고 복호화되어 복원된 블록이어서 각 블록의 움직임 벡터와 참조 픽처 인덱스는 미리 결정되어 저장되어 있으므로 추가적인 계산이나 작업 없이도 이용할 수 있다. 또한, 후술할 영상 복호화 장치에서도 현재 블록의 주변 블록에 대해서는 현재 블록을 복호화하기 전에 미리 복호화하여 복원할 수 있으므로 영상 부호화 장치(1300)와 동일하게 현재 블록 인접 화소와 참조 블록 인접 화소를 선택할 수 있다.
16B는 참조 픽처의 참조 블록, 참조 블록의 주변 블록과 참조 블록의 인접 화소를 예시적으로 나타낸 것이다. 16B와 나타낸 바와 같이, 현재 블록인 블록 C의 움직임 벡터 (0,0)이 지시하는 참조 블록은 C'으로 나타낼 수 있고, 현재 블록의 주변 블록인 블록 A, 블록 B, 블록 D 각각의 움직임 벡터 (0,4), (0,0), (0,0)이 지시하는 주변 참조 블록은 각각 블록 A', 블록 B', 블록 D'로 나타낼 수 있다. 또한, 현재 블록의 주변 블록이 아닌 블록 E의 움직임 벡터 (0,-4)이 지시하는 블록은 E'로 나타낼 수 있다.
16A와 16B를 통해 알 수 있듯이, 현재 블록인 블록 C의 주변 블록인 블록 B와 블록 D의 경우, 그 움직임 벡터에 의해 지시되는 주변 참조 블록인 블록 B'과 블록 D'도 참조 블록인 블록 C'의 주변 블록이 되었지만, 현재 블록의 주변 블록인 블록 A의 경우, 그 움직임 벡터가 지시하는 블록인 블록 A'이 참조 블록인 블록 C'의 주변 블록이 되지 못하였고, 오히려 현재 블록의 주변 블록으로 선택되지 못한 블록 E의 움직임 벡터가 지시하는 블록 E'이 참조 블록인 블록 C'의 주변 블록이 되었음을 알 수 있다.
따라서, 16A에서는, 현재 블록의 주변 블록들의 참조 픽처 인덱스와 움직임 벡터에 의해 지시되는 블록들이 여전히 참조 블록의 주변 블록이 되는 블록 B와 블록 D 내에서 현재 블록인 블록 C와 인접하는 ▧, ▨으로 빗금친 부분의 화소들이 현재 블록 인접 화소로 선택될 수 있으며, 마찬가지로 16B에서는, 블록 B'과 블록 D' 내에서 참조 블록인 블록 C'과 인접하는 ▧, ▨으로 빗금친 부분의 화소들이 참조 블록 인접 화소로 선택될 수 있다.
이를 위해, 평균 보상 계수 계산기(1420)는 현재 블록의 움직임 정보와 현재 블록의 움직임 정보를 비교하여 동일 또는 유사한지 여부에 따라 현재 블록의 주변 블록들의 참조 픽처 인덱스와 움직임 벡터에 의해 지시되는 블록들이 여전히 참조 블록의 주변 블록이 되는지 여부를 판단할 수 있다. 즉, 평균 보상 계수 계산기(1420)는 참조 픽처 인덱스가 현재 블록의 주변 블록의 참조 픽처 인덱스와 동일하고 현재 블록의 움직임 벡터가 현재 블록의 주변 블록의 움직임 벡터와 동일하면, 현재 블록의 주변 블록들의 참조 픽처 인덱스와 움직임 벡터에 의해 지시되는 블록들이 여전히 참조 블록의 주변 블록이 되는 것으로 판단할 수 있다. 또한, 평균 보상 계수 계산기(1420)는 참조 픽처 인덱스가 현재 블록의 주변 블록의 참조 픽처 인덱스와 동일하고 현재 블록의 움직임 벡터가 현재 블록의 주변 블록의 움직임 벡터와 동일하지는 않지만 그 차이가 기 설정된 기준 임계치 이하인 경우, 움직임 정보가 유사한 것으로 판단하여 현재 블록의 주변 블록들의 참조 픽처 인덱스와 움직임 벡터에 의해 지시되는 블록들이 여전히 참조 블록의 주변 블록이 되는 것으로 판단할 수 있다.
이때, 평균 보상 계수 계산기(1420)는 현재 블록의 움직임 벡터가 현재 블록의 주변 블록의 움직임 벡터와 동일한지 여부와 동일하지는 않지만 그 차이가 기 설정된 기준 임계치 이하인지 여부를 판단하기 위해, 움직임 벡터의 거리를 이용할 수 있다. 즉, 유클리드 거리 또는 시티 블록 거리 등과 같은 벡터의 거리 측정 방식을 이용하여 현재 블록의 움직임 벡터의 거리와 현재 블록의 주변 블록의 움직임 벡터의 거리를 계산하고 그 거리의 차이가 기준 임계치 이하인지 여부를 판단할 수 있다.
다만, 현재 블록 인접 화소와 주변 블록 인접 화소는 반드시 도 16을 통해 설명한 바와 같은 방식으로 선택되어야 하는 것은 아니며 다른 다양한 방식을 이용하여 선택될 수 있다. 일 예로, 현재 블록의 주변 블록으로서 반드시 블록 A, 블록 B, 블록 D만이 선택되어야 하는 것은 아니며 블록 B의 오른쪽 옆의 블록 F(미도시)를 추가로 현재 블록의 주변 블록으로서 선택할 수 있으며, 그에 따라 현재 블록 인접 화소와 참조 블록 인접 화소가 다르게 선택될 수 있을 것이다.
한편, 전술한 바와 같이 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수는 수학식 5와 같이 현재 블록 인접 화소의 평균과 참조 블록 인접 화소의 평균의 차이로 계산될 수 있다. 이러한 현재 블록 인접 화소 및 참조 블록 인접 화소는 현재 블록을 부호화하기 전에 이미 부호화되고 복호화되어 복원된 화소이다.
수학식 5
Figure PCTKR2010006518-appb-M000005
수학식 5에서, m r 은 참조 블록 인접 화소들의 평균을 나타내고, m c 는 현재 블록 인접 화소들의 평균을 나타내며, mc coeff 는 평균 보상 계수를 나타낸다.
다시 도 14를 참조하면, 움직임 보상기(1430)는 참조 블록에 평균 보상 계수를 반영하여 변경 참조 블록을 생성하고, 변경 참조 블록을 현재 블록의 예측 블록으로 결정한다. 즉, 움직임 보상기(1430)는 움직임 추정기(1410)에서 얻은 현재 블록의 움직임 정보에 의해 지시되는 참조 블록과 참조 블록에 평균 보상 계수 계산기(1420)에 의해 계산된 평균 보상 계수를 반영하여 생성되는 변경 참조 블록 중 하나를 현재 블록의 예측 블록으로서 결정한다.
일 예로, 움직임 보상기(1430)는 참조 블록에 대한 부호화 비용과 변경 참조 블록에 대한 부호화 비용을 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 이를 위해, 움직임 보상기(1430)는 참조 블록에 대한 부호화 비용과 변경 참조 블록에 대한 부호화 비용을 계산하고, 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 큰 경우에는 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있으며, 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 작거나 같은 경우에는 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
여기서, 참조 블록에 대한 부호화 비용이란 참조 블록을 현재 블록의 예측 블록으로 사용하여 현재 블록을 예측 부호화하는 데 소요되는 부호화 비용을 말하며, 변경 참조 블록에 대한 부호화 비용이란 변경 참조 블록을 현재 블록의 예측 블록으로 사용하여 현재 블록을 예측 부호화하는 데 소요되는 부호화 비용을 말한다. 부호화 비용으로서는 율-왜곡 비용이 이용될 수 있는데, 반드시 이에 한정되지 않고 참조 블록 또는 변경 참조 블록을 예측 블록으로 사용하여 현재 블록을 인터 예측 부호화하는 데 소요되는 비용이라면 어떠한 비용이라도 이용될 수 있다.
다른 예로, 움직임 보상기(1430)는 평균 보상 계수의 값을 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 이를 위해, 움직임 보상기(1430)는 평균 보상 계수가 '0'이 아닌 경우에는 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있으며, 평균 보상 계수가 '0'인 경우에는 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 평균 보상 계수가 '0'인 경우에는 평균 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로 사용하여 부호화하는 경우와 평균 보상 계수를 반영하지 않은 참조 블록을 현재 블록의 예측 블록으로 사용하여 부호화하는 경우의 결과가 동일하므로, 평균 보상 계수를 사용할 필요가 없기 때문이다. 또한, 움직임 보상기(1430)는 평균 보상 계수가 기 설정된 범위 내인 경우에는 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있으며, 평균 보상 계수가 기 설정된 범위 밖인 경우에는 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 여기서, 기 설정된 범위는 상한 임계값보다 작고 하한 임계값보다 큰 범위일 수 있는데, 상한 임계값과 하한 임계값은 현재 블록 인접 화소와 참조 블록 인접 화소의 분산, 표준편차 및 상관계수 중 하나 이상을 이용하여 결정될 수 있다. 즉, 움직임 보상기(1430)는 수학식 6에 나타낸 바와 같이, 평균 보상 계수가 기 설정된 범위 내인 경우에만 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
수학식 6
Figure PCTKR2010006518-appb-M000006
수학식 6에서, mc coeff 는 평균 보상 계수를 나타내며, Thd a 는 하한 임계값을 나타내며, Thd b 는 상한 임계값을 나타낸다.
전술한 바와 같이, 평균 보상 계수의 값을 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 경우, 평균 보상 계수의 값이 '0'인지 여부와 평균 보상 계수의 값이 기 설정된 범위 내에 있는지 여부를 각각 판단하여 각각에 따라 변경 참조 블록을 현재 블록의 예측 블록으로 결정할 수도 있지만, 두 가지 조건을 결합하여 변경 참조 블록을 현재 블록의 예측 블록으로 결정할 수도 있을 것이다. 즉, 평균 보상 계수의 값이 '0'이 아니고 기 설정된 범위 내에 있는 경우에만 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 평균 보상 계수의 값이 '0'이거나 평균 보상 계수의 값이 '0'이 아니지만 기 설정된 범위 밖에 있는 경우에는 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
또 다른 예로, 움직임 보상기(1430)는 현재 블록 인접 화소와 참조 블록 인접 화소의 분산, 표준편차 및 상관계수 중 하나 이상을 계산하여 계산된 값이 특정 조건을 만족하는 경우에만 변경 참조 블록을 현재 블록의 예측 블록으로 결정하거나 만족하지 않는 경우에는 참조 블록을 현재 블록의 예측 블록으로 결정할 수 있다.
움직임 보상기(1430)는 참조 블록의 각 화소에서 평균 보상 계수를 감산하여 변경 참조 블록을 생성할 수 있다. 즉, 변경 참조 블록의 각 화소는 참조 블록의 각 화소의 화소값에서 평균 보상 계수를 뺀 차이값을 가진다. 이때, 각 화소의 화소값에서 평균 보상 계수를 뺀 차이값이 화소가 표현되는 값의 범위를 벗어날 수 있으므로, 움직임 보상기(1430)는 참조 블록의 각 화소에서 평균 보상 계수를 감산한 값을 화소가 표현되는 값의 범위 내로 제한하여 변경 참조 블록을 생성할 수 있다.
예를 들어, 현재 블록, 참조 블록, 변경 참조 블록 등의 각 화소가 8 비트로 표현되는 값을 가지는 경우, 화소가 가질 수 있는 값은 0 내지 255 중 하나이다. 만약, 참조 블록의 각 화소 중 어느 화소가 '1'의 값을 가지고 평균 보상 계수가 '3'으로 계산된다면, 변경 참조 블록에서 해당 화소는 '-2'의 값을 가지게 되어 화소가 표현되는 값의 범위를 벗어나게 된다. 따라서, 이 경우에는 0 내지 255 중 하나의 값으로 제한해서 그 중 최소값을 가지는 '0'의 값을 가지도록 변경 참조 블록의 해당 화소의 화소값을 변경한다.
이와 같이 생성되는 변경 참조 블록을 현재 블록의 예측 블록으로 결정하여 잔여 블록을 계산하면, 잔여 블록은 수학식 7과 같이 계산될 수 있다.
수학식 7
Figure PCTKR2010006518-appb-M000007
수학식 7에서, original ij 는 현재 블록의 각 화소를 나타내고, referencek ij 는 참조 블록의 각 화소를 나타내며, residual ij 는 잔여 블록의 각 화소를 나타낸다. 여기서, clip(reference ij - mc coeff )은 변경 참조 블록의 각 화소를 나타내는데, clip() 함수는 변경 참조 블록의 각 화소인 reference ij - mc coeff 의 값이 화소가 표현되는 값의 범위(예를 들어, 화소값이 8비트로 표현되는 경우, 0 이상 255 이하) 내의 값을 갖도록 최소값과 최대값을 제한한다.
움직임 보상기(1430)는 평균 보상 계수를 적용하여 현재 블록의 움직임을 추가로 추정하여 현재 움직임 벡터를 재조정(Refinement)할 수 있다. 즉, 움직임 보상기(1430)는 움직임 추정기(1410)에서 결정된 현재 움직임 벡터가 지시하는 화소 주변의 임의의 범위(예를 들어, ±α 화소)에 대해 평균 보상 계수를 적용하여 움직임 추정을 추가로 수행함으로써 지역적인 조명 변화나 시점 변화가 발생한 영역의 블록(또는 매크로블록)에 대해 더욱 정확한 예측을 수행하여 부호화 효율을 더욱 높일 수 있다.
예를 들어, 현재 움직임 벡터가 (2, 4)이고, 임의의 범위를 결정하는 α를 '1'로 설정한 경우, (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 3), (3, 4), (3, 5)의 위치에 대하여 평균 보상 계수를 사용한 움직임 보상을 수행하고, 각 위치에 대한 부호화 비용(예를 들어, 율-왜곡 비용, SAD(Sum of Absolute Difference), SATD(Sum of Absolute Transformed Difference) 또는 SSD(Sum of Squared Difference) 등)을 비교하여 최적의 움직임 벡터를 구함으로써 구해진 최적의 움직임 벡터를 현재 움직임 벡터로서 최종적으로 결정할 수 있다. 여기서, α는 구현 방식이나 조건에 따라 적합하게 설정될 수 있으며, α가 커질수록 부호화 효율이 높아질 수 있다.
또한, 움직임 보상기(1430)는 변경 참조 블록을 현재 블록의 예측 블록으로 결정할지 여부를 블록 단위가 아닌 일련의 블록들의 그룹 예를 들면 매크로블럭, 슬라이스 혹은 픽처 단위로 결정할 수 있다. 픽처 단위로 결정할 경우, 이를 위해, 움직임 보상기(1430)는 부호화하고자 하는 현재 픽처를 평균 보상 계수를 사용하여 부호화한 경우에 대한 부호화 비용과 평균 보상 계수를 사용하지 않고 부호화한 경우에 대한 부호화 비용을 계산하여 부호화 비용이 작은 방식으로 현재 픽처를 부호화함으로써, 각 픽처를 적응적으로 부호화할 수 있다. 이때, 각 픽처마다 평균 보상 계수를 적용하여 부호화했는지 여부를 식별하기 위한 평균 보상 계수 사용 정보를 추가로 부호화 데이터에 포함시킨다.
도 17은 본 발명의 제2 실시예에 따른 예측 부호화를 위한 인터 예측 방법을 설명하기 위한 순서도이다.
본 발명의 제2 실시예에 따른 예측 부호화를 위한 인터 예측 방법에 따르면, 영상 부호화 장치(1300)의 예측기(1310)는 현재 블록의 움직임을 추정하여 현재 블록의 움직임 정보를 결정하고(S1710), 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하며(S1720), 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산하며(S1730), 참조 블록에 평균 보상 계수를 반영하여 변경 참조 블록을 생성하며(S1740), 변경 참조 블록을 현재 블록의 예측 블록으로서 결정한다(S1750).
여기서, 현재 블록은 다양한 크기의 매크로블록이 될 수도 있으며, 매크로블록으로부터 변환 단위로 분할된 서브블록일 수도 있다. 현재 블록의 주변 블록은 현재 블록과 인접한 블록 중 기 부호화되고 복호화되어 복원된 블록일 수 있다. 평균 보상 계수는 현재 블록 인접 화소의 평균과 참조 블록 인접 화소의 평균의 차일 수 있다.
단계 S1730에서, 예측기(1310)는 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록이 참조 블록이 포함되는 참조 픽처에서 참조 블록의 주변 블록인 경우, 현재 블록의 주변 블록 내에서 현재 블록과 인접한 인접 화소를 현재 블록 인접 화소로서 선택하고, 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록 내에서 참조 블록과 인접한 인접 화소를 참조 블록 인접 화소로서 선택할 수 있다.
예를 들어, 예측기(1310)는 현재 블록의 움직임 정보에 의해 식별되는 참조 픽처 색인과 현재 블록의 주변 블록의 움직임 정보에 의해 식별되는 참조 픽처 색인이 동일하고 현재 블록의 움직임 정보에 의해 식별되는 움직임 벡터와 현재 블록의 주변 블록의 움직임 정보에 의해 식별되는 움직임 벡터의 차이가 기준 임계치 이하인 경우, 현재 블록의 주변 블록 내에서 현재 블록과 인접한 인접 화소를 현재 블록 인접 화소로서 선택하고, 현재 블록의 주변 블록의 움직임 벡터에 의해 지시되는 주변 참조 블록 내에서 참조 블록과 인접한 인접 화소를 참조 블록 인접 화소로서 선택할 수 있다. 이를 위해, 예측기(1310)는 현재 블록의 움직임 벡터와 현재 블록의 주변 블록의 움직임 벡터 간의 거리가 거리 임계치 이하인 경우, 현재 블록의 움직임 벡터와 현재 블록의 주변 블록의 움직임 벡터의 차이가 기준 임계치 이하인 것으로 판단할 수 있다.
단계 S1750에서, 예측기(1310)는 참조 블록의 각 화소에서 평균 보상 계수를 감산하여 변경 참조 블록을 생성할 수 있으며, 필요에 따라서는 참조 블록의 각 화소에서 평균 보상 계수를 감산한 값을 화소가 표현되는 값의 범위 내로 제한하여 변경 참조 블록을 생성할 수도 있다.
또한, 단계 S1750에서, 예측기(1310)는 참조 블록에 대한 부호화 비용을 계산하고, 변경 참조 블록에 대한 부호화 비용을 계산하며, 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 큰 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하며, 참조 블록에 대한 부호화 비용이 변경 참조 블록에 대한 부호화 비용보다 작거나 같은 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
또한, 단계 S1750에서, 예측기(1310)는 평균 보상 계수가 '0'이 아닌 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 평균 보상 계수가 '0'인 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
또한, 단계 S1750에서, 예측기(1310)는 평균 보상 계수가 기 설정된 범위 내인 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 평균 보상 계수가 기 설정된 범위 밖인 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 여기서, 기 설정된 범위는 상한 임계값보다 작고 하한 임계값보다 큰 범위이며, 상한 임계값과 하한 임계값은 현재 블록 인접 화소와 참조 블록 인접 화소의 분산, 표준편차 및 상관계수 중 하나 이상을 이용하여 결정될 수 있다.
또한, 단계 S1750에서, 예측기(1310)는 평균 보상 계수를 적용하여 현재 블록의 움직임을 추가로 추정하여 현재 블록의 움직임 정보의 움직임 벡터를 재조정할 수 있다.
도 17을 통해 전술한 각 단계는 모두 반드시 수행되어야 하는 것은 아니며, 일부의 단계가 선택적으로 생략되거나 추가될 수도 있다. 또한, 각 단계의 순서도 반드시 도시된 바와 같이 정해지는 것은 아니며, 일부 또는 전분의 단계의 순서가 변경되거나 심지어는 병행적으로 수행될 수도 있다.
도 18은 본 발명의 제2 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.
영상 부호화 장치(1300)는 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하고(S1810), 현재 블록과 예측 블록을 감산하여 잔여 블록을 생성하며(S1820), 잔여 블록을 부호화하여 부호화 데이터를 생성한다(S1830).
또한, 영상 부호화 장치(1300)는 평균 보상 계수를 사용함을 나타내는 평균 보상 계수 사용 정보를 부호화 데이터에 포함시킬 수 있다.
또한, 단계 S1810에서, 영상 부호화 장치(1300)는 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록이 참조 블록이 포함되는 참조 픽처에서 참조 블록의 주변 블록인 경우, 현재 블록의 주변 블록 내에서 현재 블록과 인접한 인접 화소를 현재 블록 인접 화소로서 선택하고, 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록 내에서 참조 블록과 인접한 인접 화소를 참조 블록 인접 화소로서 선택할 수 있다.
예를 들어, 영상 부호화 장치(1300)는 현재 블록의 움직임 정보에 의해 식별되는 참조 픽처 색인과 현재 블록의 주변 블록의 움직임 정보에 의해 식별되는 참조 픽처 색인이 동일하고 현재 블록의 움직임 정보에 의해 식별되는 움직임 벡터와 현재 블록의 주변 블록의 움직임 정보에 의해 식별되는 움직임 벡터의 차이가 임계치 이하인 경우, 현재 블록의 주변 블록 내에서 현재 블록과 인접한 인접 화소를 현재 블록 인접 화소로서 선택하고, 현재 블록의 주변 블록의 움직임 벡터에 의해 지시되는 주변 참조 블록 내에서 참조 블록과 인접한 인접 화소를 참조 블록 인접 화소로서 선택할 수 있다.
도 19는 본 발명의 제2 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제2 실시예에 따른 영상 복호화 장치(1900)는 복호화기(Decoder, 1910), 역 양자화기 및 역 변환기(1920), 예측기(1930), 가산기(1940) 및 참조 픽처 메모리(1950)를 포함하여 구성될 수 있다.
복호화기(1910)는 부호화 데이터를 복호화하여 현재 블록의 움직임 정보 및 양자화된 변환 계수를 가지는 잔여 블록을 복원한다. 즉, 복호화기(1910)는 부호화 데이터를 복호화하여 양자화 변환 계수열을 추출하고, 양자화 변환 계수열을 역 지그재그 스캔 등 다양한 역 스캐닝 방식으로 역 스캐닝하여 양자화 변환 계수를 가지는 잔여 블록을 복원한다. 이때, 복호화기(1910)는 부호화 데이터에 포함된 제 1 필드에서 부호화된 잔여 블록을 추출하여 복호화할 수 있고, 부호화 데이터에 포함된 제 2 필드에서 예측에 필요한 정보를 추출하거나 추출된 정보를 복호화할 수 있으며, 추출되거나 추출되어 복호화된 예측에 필요한 정보를 예측기(1930)로 전달하여, 예측기(1930)가 영상 부호화 장치(1300)의 예측기(1310)와 동일 또는 유사한 방식으로 현재 블록을 예측하도록 할 수 있다. 또한, 복호화기(1910)는 부호화 데이터의 제 2 필드에 평균 보상 계수 사용 정보가 포함된 경우에는 평균 보상 계수 사용 정보를 추출하여 예측기(1930)로 전달할 수 있다.
역 양자화기 및 역 변환기(1920)는 복호화기(1910)에 의해 복호화되어 복원되는 양자화된 변환 계수를 가지는 잔여 블록을 역 양자화하여 변환 계수를 가지는 잔여 블록을 생성하고 변환 계수를 가지는 잔여 블록을 역 변환하여 잔여 신호를 가지는 잔여 블록을 복원한다.
도 19에서는 복호화기(1910)와 역 양자화기 및 역 변환기(1920)가 각각 독립적으로 구현되는 것으로 도시하고 설명했지만, 복호화기(1910)와 역 양자화기 및 역 변환기(1920) 각각의 기능이 통합되어 하나의 복호화기로서 구현될 수도 있다. 이와 같이 복호화기(1910)와 역 양자화기 및 역 변환기(1920) 각각의 기능이 통합되어 통합된 복호화기로 구현되는 경우, 복호화기(1910)는 부호화 데이터를 복호화하여 현재 움직임 벡터 및 잔여 블록을 복원할 수 있으며, 필요한 경우 부호화 데이터로부터 평균 보상 계수 사용 정보를 추출할 수 있다.
예측기(1930)는 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록에 복원되는 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성한다. 즉, 예측기(1930)는 복호화기(1910)로부터 복원되는 현재 블록의 움직임 정보 움직임 벡터, 평균 보상 계수 사용 정보 등과 같은 예측에 필요한 정보를 이용하여 현재 블록에 대한 예측 블록을 생성한다. 이때, 예측기(1930)는 복호화기(1910)로부터 평균 보상 계수 사용 정보를 전달받으면, 예측 블록을 생성할 때 전달된 평균 보상 계수 사용 정보를 기초로 평균 보상 계수를 적용하여 현재 블록의 움직임을 보상할지 여부를 결정하여 예측 블록을 생성할 수 있다. 예측기(1930)에 대해서는 후술하는 과정에서 도 21을 통해 상세히 설명한다.
가산기(1940)는 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원한다. 가산기(1940)는 역 양자화기 및 역 변환기(1920)에 의해 복원되는 잔여 블록과 예측기(1930)에 의해 생성되는 예측 블록을 가산하여 현재 블록을 복원한다. 가산기(1940)에 의해 복원되는 현재 블록은 참조 픽처 메모리(1950)로 전달되어 참조 픽처 메모리(1950)에서 픽처 단위로 누적되어 참조 픽처로서 저장될 수 있으며, 참조 픽처는 예측기(1930)에서 다른 블록 또는 다른 픽처를 예측하는 데 활용될 수 있다.
또한, 도 19에서는 도시하지 않았지만, 전술한 본 발명의 제2 실시예에 따른 영상 복호화 장치(1900)는 인트라 예측을 위한 인트라 예측기, 복원된 현재 블록을 디블로킹 필터링하는 디블록킹 필터기 등을 추가로 포함할 수 있다. 또한, 역 양자화기 및 역 변환기(1920)는 특정 픽처(예를 들어, 인트라 픽처)에 대한 역 변환 및 역 양자화 연산을 추가로 수행할 수도 있다.
도 20은 본 발명의 제2 실시예에 따른 예측 복호화를 위한 인터 예측 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 제2 실시예에 따른 예측 복호화를 위한 인터 예측 장치는 도 19를 통해 전술한 본 발명의 제2 실시예에 따른 영상 복호화 장치(1900)에서는 예측기(1930)로 구현될 수 있으므로, 이하에서는 설명의 편의를 위해, 예측기(1930)라 칭한다.
예측기(1930)는 평균 보상 계수 계산기(2010) 및 움직임 보상기(2020)를 포함하여 구성될 수 있다.
평균 보상 계수 계산기(2010)는 부호화 데이터를 복호화하여 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하고, 복원되는 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산한다. 즉, 평균 보상 계수 계산기(2010)는 복호화기(1910)로부터 또는 움직임 보상기(2020)로부터 복호화기(1910)에 의해 복원되는 현재 블록의 움직임 정보를 전달받으면, 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하고, 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 현재 블록의 주변 블록들의 움직임 정보에 의해 지시되는 블록들이 참조 블록이 포함되는 참조 픽처에서도 참조 블록의 주변 블록들이 되는지 여부를 판단하여 현재 블록 인접 화소와 참조 블록 인접 화소를 선택하고 선택된 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산한다. 평균 보상 계수 계산기(2010)가 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산하는 과정은 도 14 내지 도 16을 통해 전술한 평균 보상 계수 계산기(1420)에서 평균 보상 계수를 계산하는 과정과 동일 또는 유사하므로 이에 대한 상세한 설명은 생략한다.
움직임 보상기(2020)는 참조 블록에 평균 보상 계수를 반영하여 변경 참조 블록을 생성하고, 변경 참조 블록을 현재 블록의 예측 블록으로서 결정한다. 여기서, 움직임 보상기(2020)는 평균 보상 계수 사용 정보 또는 평균 보상 계수를 기초로 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 예를 들어, 움직임 보상기(2020)는 복호화기(1910)로부터 평균 보상 계수 사용 정보를 전달받으면, 평균 보상 계수 사용 정보가 평균 보상 계수를 사용함을 나타내는 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 평균 보상 계수 사용 정보가 평균 보상 계수를 사용하지 않음을 나타내는 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 즉, 부호화 데이터에 평균 보상 계수 사용 정보가 포함된 경우에는 영상 부호화 장치(1300)에서 참조 블록에 대한 부호화 비용과 변경 참조 블록에 대한 부호화 비용을 기초로 평균 보상 계수를 적용하여 현재 블록의 움직임을 보상할지 여부를 결정한 경우이므로, 평균 보상 계수 사용 정보가 평균 보상 계수를 사용함을 나타내는지(예를 들어, 플래그 '1') 또는 평균 보상 계수를 사용하지 않음을 나타내는지(예를 들어, 플래그 '0') 여부를 판단하여 그에 따라 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할지 또는 참조 블록을 현재 블록의 예측 블록으로서 결정할지 여부를 결정할 수 있다.
다른 예로, 움직임 보상기(2020)는 평균 보상 계수가 '0'이 아닌 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고 평균 보상 계수가 '0'인 경우 참조 블록을 현재 블록의 예측 블록으로서 결정하거나, 평균 보상 계수가 기 설정된 범위 내인 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고 평균 보상 계수가 기 설정된 범위 밖인 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다. 즉, 부호화 데이터에 평균 보상 계수 사용 정보가 포함되지 않은 경우에는 영상 부호화 장치(1300)에서 평균 보상 계수의 값을 기초로 평균 보상 계수를 적용하여 현재 블록의 움직임을 보상할지 여부를 결정한 경우이므로, 영상 부호화 장치(1300)와 미리 약속된 방식으로 평균 보상 계수의 값이 기 설정된 조건에 만족하는지 여부(즉, 평균 보상 계수가 '0'인지 여부 및/또는 평균 보상 계수가 기 설정된 범위 내인지 여부)를 판단하여 그에 따라 변경 참조 블록을 현재 블록의 예측 블록으로서 결정할지 또는 참조 블록을 현재 블록의 예측 블록으로서 결정할지 여부를 결정할 수 있다.
도 21은 본 발명의 제2 실시예에 따른 예측 복호화를 위한 인터 예측 방법을 설명하기 위한 순서도이다.
본 발명의 제2 실시예에 따른 예측 복호화를 위한 인터 예측 방법에 따르면, 예측기(1930)는 부호화 데이터를 복호화하여 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하고(S2110), 복원되는 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산하며(S2120), 참조 블록에 평균 보상 계수를 반영하여 변경 참조 블록을 생성하여 변경 참조 블록을 현재 블록의 예측 블록으로서 결정한다(S2130).
여기서, 현재 블록은 다양한 크기의 매크로블록이 될 수도 있으며, 매크로블록으로부터 변환 단위로 분할된 서브블록이 될 수도 있다. 현재 블록의 주변 블록은 현재 블록과 인접한 블록 중 기 복호화되어 복원된 블록일 수 있으며, 평균 보상 계수는 현재 블록 인접 화소의 평균과 참조 블록 인접 화소의 평균의 차일 수 있다.
단계 S2120에서, 예측기(1930)는 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록이 참조 블록이 포함되는 참조 픽처에서 참조 블록의 주변 블록인 경우 현재 블록의 주변 블록 내에서 현재 블록과 인접한 인접 화소를 현재 블록 인접 화소로서 선택하고, 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록 내에서 참조 블록과 인접한 인접 화소를 참조 블록 인접 화소로서 선택할 수 있다.
예를 들어, 예측기(1930)는 복원되는 현재 블록의 움직임 정보에 의해 식별되는 현재 블록의 참조 픽처 색인과 현재 블록의 주변 블록의 참조 픽처 색인이 동일하고 복원되는 현재 블록의 움직임 정보에 의해 식별되는 현재 블록의 움직임 벡터와 현재 블록의 주변 블록의 움직임 벡터의 차이가 기준 임계치 이하인 경우, 현재 블록의 주변 블록 내에서 현재 블록과 인접한 인접 화소를 현재 블록 인접 화소로서 선택하고, 현재 블록의 주변 블록의 움직임 벡터에 의해 지시되는 주변 참조 블록 내에서 참조 블록과 인접한 인접 화소를 참조 블록 인접 화소로서 선택할 수 있다. 이를 위해, 예측기(1930)는 복원되는 현재 블록의 움직임 정보에 의해 식별되는 현재 블록의 움직임 벡터와 현재 블록의 주변 블록의 움직임 벡터 간의 거리가 거리 임계치 이하인 경우, 현재 블록의 움직임 벡터와 현재 블록의 주변 블록의 움직임 벡터의 차이가 기준 임계치 이하인 것으로 판단할 수 있다.
단계 S2130에서, 예측기(1930)는 참조 블록의 각 화소에서 평균 보상 계수를 감산하여 변경 참조 블록을 생성할 수 있으며, 필요에 따라서는 참조 블록의 각 화소에서 평균 보상 계수를 감산한 값을 화소가 표현되는 값의 범위 내로 제한하여 변경 참조 블록을 생성할 수 있다.
또한, 단계 S2130에서, 예측기(1930)는 부호화 데이터로부터 추출되는 평균 보상 계수 사용 정보가 평균 보상 계수를 사용함을 나타내는 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 평균 보상 계수 사용 정보가 평균 보상 계수를 사용하지 않음을 나타내는 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
또한, 단계 S2130에서, 예측기(1930)는 평균 보상 계수가 '0'이 아닌 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 평균 보상 계수가 '0'인 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
또한, 단계 S2130에서, 예측기(1930)는 평균 보상 계수가 기 설정된 범위 내인 경우 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하고, 평균 보상 계수가 기 설정된 범위 밖인 경우 참조 블록을 현재 블록의 예측 블록으로서 결정할 수 있다.
한편, 도 21을 통해 전술한 각 단계는 모두 반드시 수행되어야 하는 것은 아니며, 일부의 단계가 선택적으로 생략되거나 추가될 수도 있다. 또한, 각 단계의 순서도 반드시 도시된 바와 같이 정해지는 것은 아니며, 일부 또는 전분의 단계의 순서가 변경되거나 심지어는 병행적으로 수행될 수도 있다.
도 22는 본 발명의 제2 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.
영상 복호화 장치(1900)는 부호화 데이터를 복호화하여 현재 블록의 움직임 정보 및 잔여 블록을 복원하고(S2210), 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록에 복원되는 현재 블록의 움직임 정보와 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하며(S2220), 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원한다(S2230).
또한, 영상 복호화 장치(1900)는 부호화 데이터로부터 평균 보상 계수 사용 정보를 추가로 추출할 수 있으며, 이 경우 단계 S2220에서 영상 복호화 장치(1900)는 평균 보상 계수 사용 정보가 평균 보상 계수를 사용함을 나타내는 경우 변경 참조 블록을 현재 블록의 예측 블록으로 결정하고, 평균 보상 계수 사용 정보가 평균 보상 계수를 사용하지 않음을 나타내는 경우 참조 블록을 현재 블록의 예측 블록으로 결정할 수 있다. 물론, 이뿐만 아니라 영상 복호화 장치(1900)는 도 20 및 도 21을 통해 전술한 바와 같이, 평균 보상 계수의 값에 기초하여 참조 블록 또는 변경 참조 블록을 선택적으로 현재 블록의 예측 블록으로서 결정할 수도 있다.
또한, 단계 S2220에서, 영상 복호화 장치(1900)는 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록이 참조 블록이 포함되는 참조 픽처에서 참조 블록의 주변 블록인 경우, 현재 블록의 주변 블록 내에서 현재 블록과 인접한 인접 화소를 현재 블록 인접 화소로서 선택하고, 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록 내에서 참조 블록과 인접한 인접 화소를 참조 블록 인접 화소로서 선택할 수 있다.
예를 들어, 영상 복호화 장치(1900)는 복원되는 현재 블록의 움직임 정보에 의해 식별되는 현재 블록의 참조 픽처 색인과 현재 블록의 주변 블록의 참조 픽처 색인이 동일하고 복원되는 현재 블록의 움직임 정보에 의해 식별되는 현재 블록의 움직임 벡터와 현재 블록의 주변 블록의 움직임 벡터의 차이가 기준 임계치 이하인 경우, 현재 블록의 주변 블록 내에서 현재 블록과 인접한 인접 화소를 현재 블록 인접 화소로서 선택하고, 현재 블록의 주변 블록의 움직임 벡터에 의해 지시되는 주변 참조 블록 내에서 참조 블록과 인접한 인접 화소를 참조 블록 인접 화소로서 선택할 수 있다.
이상에서 전술한 바와 같이, 본 발명의 제2 실시예에 따르면, 영상의 특성에 따라 평균 보상 계수를 적응적으로 계산하고 예측 블록에 반영하여 부호화하고자 하는 블록을 더욱 정확하게 예측함으로써 실제 블록과 예측된 블록 간의 차이를 줄여 압축 효율을 향상시킬 수 있다.
이상에서, 본 발명의 제1 및 제2 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명은 영상을 부호화하고 복호화하여 전송하는 영상 압축 처리 분야에 적용되어, 부호화하고자 하는 블록을 더욱 정확하게 예측함으로써 실제 블록과 예측된 블록 간의 차이를 줄여 압축 효율을 향상시킬 수 있는 효과를 발생하는 매우 유용한 발명이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2009년 09월 25일 한국에 출원한 특허출원번호 제 10-2009-0091047 호 및 2009년 10월 20일 한국에 출원한 특허출원번호 제 10-2009-0099501 호에 대해 미국 특허법 119(a)조(35 U.S.C § 119(a))에 따라 우선권을 주장하면, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다. 아울러, 본 특허출원은 미국 이외에 국가에 대해서도 위와 동일한 동일한 이유로 우선권을 주장하면 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.

Claims (66)

  1. 영상을 부호화하는 장치에 있어서,
    현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 예측기;
    상기 현재 블록과 상기 예측 블록을 감산하여 잔여 블록을 생성하는 감산기; 및
    상기 잔여 블록을 부호화하여 부호화 데이터를 생성하는 부호화기
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.
  2. 영상을 부호화하는 장치에 있어서,
    현재 블록의 움직임 정보에 의해 지시되는 참조 블록에 상기 현재 블록의 움직임 정보와 상기 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수를 반영한 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 생성하는 예측기;
    상기 현재 블록과 상기 예측 블록을 감산하여 잔여 블록을 생성하는 감산기; 및
    상기 잔여 블록을 부호화하여 부호화 데이터를 생성하는 부호화기
    를 포함하는 것을 특징으로 하는 영상 부호화 장치.
  3. 영상을 복호화하는 장치에 있어서,
    부호화 데이터를 복호화하여 현재 움직임 벡터 및 잔여 블록을 복원하는 복호화기;
    상기 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로 생성하는 예측기; 및
    상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산기
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  4. 영상을 복호화하는 장치에 있어서,
    부호화 데이터를 복호화하여 현재 블록의 움직임 정보 및 잔여 블록을 복원하는 복호화기;
    상기 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록에 상기 복원되는 현재 블록의 움직임 정보와 상기 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 예측기; 및
    상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산기
    를 포함하는 것을 특징으로 하는 영상 복호화 장치.
  5. 예측 부호화를 위한 인터 예측 장치에 있어서,
    현재 블록의 움직임을 추정하여 현재 움직임 벡터를 결정하는 움직임 추정기;
    상기 현재 움직임 벡터에 의해 지시되는 참조 블록의 참조 블록 인접 화소와 현재 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하는 움직임 보상 계수 계산기; 및
    상기 참조 블록에 상기 움직임 보상 계수를 반영하여 변경 참조 블록을 생성하고, 상기 변경 참조 블록을 예측 블록으로서 결정하는 움직임 보상기
    를 포함하는 것을 특징으로 하는 인터 예측 장치.
  6. 예측 부호화를 위한 인터 예측 장치에 있어서,
    현재 블록의 움직임을 추정하여 상기 현재 블록의 움직임 정보를 결정하는 움직임 추정기;
    상기 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하고, 상기 현재 블록의 움직임 정보와 상기 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산하는 평균 보상 계수 계산기; 및
    상기 참조 블록에 상기 평균 보상 계수를 반영하여 변경 참조 블록을 생성하고, 상기 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 움직임 보상기
    를 포함하는 것을 특징으로 하는 인터 예측 장치.
  7. 예측 복호화를 위한 인터 예측 장치에 있어서,
    부호화 데이터를 복호화하여 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하고, 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하는 움직임 보상 계수 계산기; 및
    상기 참조 블록에 상기 움직임 보상 계수를 반영하여 변경 참조 블록을 생성하고, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 움직임 보상기
    를 포함하는 것을 특징으로 하는 인터 예측 장치.
  8. 예측 복호화를 위한 인터 예측 장치에 있어서,
    부호화 데이터를 복호화하여 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하고, 상기 복원되는 현재 블록의 움직임 정보와 상기 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산하는 평균 보상 계수 계산기; 및
    상기 참조 블록에 상기 평균 보상 계수를 반영하여 변경 참조 블록을 생성하고, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 움직임 보상기
    를 포함하는 것을 특징으로 하는 인터 예측 장치.
  9. 영상을 부호화하는 방법에 있어서,
    현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 단계;
    상기 현재 블록과 상기 예측 블록을 감산하여 잔여 블록을 생성하는 단계; 및
    상기 잔여 블록을 부호화하여 부호화 데이터를 생성하는 단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  10. 제 9 항에 있어서, 상기 현재 블록의 예측 블록으로서 생성하는 단계는,
    상기 참조 블록에 대한 부호화 비용과 상기 변경 참조 블록에 대한 부호화 비용을 기초로 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 생성하는 것을 특징으로 하는 영상 부호화 방법.
  11. 제 10 항에 있어서, 상기 영상 부호화 방법은,
    상기 움직임 보상 계수를 사용함을 나타내는 움직임 보상 계수 사용 정보를 상기 부호화 데이터에 포함시키는 단계를 추가로 포함하는 것을 특징으로 하는 영상 부호화 방법.
  12. 제 9 항에 있어서, 상기 현재 블록의 예측 블록으로서 생성하는 단계는,
    상기 움직임 보상 계수의 값을 기초로 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 생성하는 것을 특징으로 하는 영상 부호화 방법.
  13. 영상을 부호화하는 방법에 있어서,
    현재 블록의 움직임 정보에 의해 지시되는 참조 블록에 상기 현재 블록의 움직임 정보와 상기 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수를 반영한 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 생성하는 단계;
    상기 현재 블록과 상기 예측 블록을 감산하여 잔여 블록을 생성하는 단계; 및
    상기 잔여 블록을 부호화하여 부호화 데이터를 생성하는 단계
    를 포함하는 것을 특징으로 하는 영상 부호화 방법.
  14. 제 13 항에 있어서, 상기 영상 부호화 방법은,
    상기 평균 보상 계수를 사용함을 나타내는 평균 보상 계수 사용 정보를 상기 부호화 데이터에 포함시키는 단계를 추가로 포함하는 것을 특징으로 하는 영상 부호화 방법.
  15. 제 13 항에 있어서, 상기 현재 블록의 예측 블록으로서 생성하는 단계는,
    상기 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록이 상기 참조 블록이 포함되는 참조 픽처에서 상기 참조 블록의 주변 블록인 경우, 상기 현재 블록의 주변 블록 내에서 상기 현재 블록과 인접한 인접 화소를 상기 현재 블록 인접 화소로서 선택하고, 상기 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록 내에서 상기 참조 블록과 인접한 인접 화소를 상기 참조 블록 인접 화소로서 선택하는 것을 특징으로 하는 영상 부호화 방법.
  16. 제 13 항에 있어서, 상기 현재 블록의 예측 블록으로서 생성하는 단계는,
    상기 현재 블록의 움직임 정보에 의해 식별되는 참조 픽처 색인과 상기 현재 블록의 주변 블록의 움직임 정보에 의해 식별되는 참조 픽처 색인이 동일하고 상기 현재 블록의 움직임 정보에 의해 식별되는 움직임 벡터와 상기 현재 블록의 주변 블록의 움직임 정보에 의해 식별되는 움직임 벡터의 차이가 임계치 이하인 경우, 상기 현재 블록의 주변 블록 내에서 상기 현재 블록과 인접한 인접 화소를 상기 현재 블록 인접 화소로서 선택하고, 상기 현재 블록의 주변 블록의 움직임 벡터에 의해 지시되는 주변 참조 블록 내에서 상기 참조 블록과 인접한 인접 화소를 상기 참조블록 인접 화소로서 선택하는 것을 특징으로 하는 영상 부호화 방법.
  17. 영상을 복호화하는 방법에 있어서,
    부호화 데이터를 복호화하여 현재 움직임 벡터 및 잔여 블록을 복원하는 단계;
    상기 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록에 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 움직임 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 단계; 및
    상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  18. 제 17 항에 있어서, 상기 영상 복호화 방법은,
    상기 부호화 데이터로부터 움직임 보상 계수 사용 정보를 추출하는 단계를 추가로 포함하되, 상기 현재 블록의 예측 블록으로서 생성하는 단계는 상기 움직임 보상 계수 사용 정보가 상기 움직임 보상 계수를 사용함을 나타내는 경우 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로 결정하고, 상기 움직임 보상 계수 사용 정보가 상기 움직임 보상 계수를 사용하지 않음을 나타내는 경우 상기 참조 블록을 상기 현재 블록의 예측 블록으로 결정하는 것을 특징으로 하는 영상 복호화 방법.
  19. 제 17 항에 있어서, 상기 현재 블록의 예측 블록으로서 생성하는 단계는,
    상기 움직임 보상 계수가 '0'이 아닌 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하고, 상기 움직임 보상 계수가 '0'인 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 것을 특징으로 하는 영상 복호화 방법.
  20. 제 17 항에 있어서, 상기 현재 블록의 예측 블록으로서 생성하는 단계는,
    상기 움직임 보상 계수가 기 설정된 범위 내인 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하고, 상기 움직임 보상 계수가 상기 기 설정된 범위 밖인 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 것을 특징으로 하는 영상 복호화 방법.
  21. 영상을 복호화하는 방법에 있어서,
    부호화 데이터를 복호화하여 현재 블록의 움직임 정보 및 잔여 블록을 복원하는 단계;
    상기 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록에 상기 복원되는 현재 블록의 움직임 정보와 상기 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 계산되는 평균 보상 계수를 반영한 변경 참조 블록을 현재 블록의 예측 블록으로서 생성하는 단계; 및
    상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 단계
    를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  22. 제 21 항에 있어서, 상기 영상 복호화 방법은,
    상기 부호화 데이터로부터 평균 보상 계수 사용 정보를 추출하는 단계를 추가로 포함하되, 상기 현재 블록의 예측 블록으로서 생성하는 단계는 상기 평균 보상 계수 사용 정보가 상기 평균 보상 계수를 사용함을 나타내는 경우 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로 결정하고, 상기 평균 보상 계수 사용 정보가 상기 평균 보상 계수를 사용하지 않음을 나타내는 경우 상기 참조 블록을 상기 현재 블록의 예측 블록으로 결정하는 것을 특징으로 하는 영상 복호화 방법.
  23. 제 21 항에 있어서, 상기 현재 블록의 예측 블록으로서 생성하는 단계는,
    상기 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록이 상기 참조 블록이 포함되는 참조 픽처에서 상기 참조 블록의 주변 블록인 경우, 상기 현재 블록의 주변 블록 내에서 상기 현재 블록과 인접한 인접 화소를 상기 현재 블록 인접 화소로서 선택하고, 상기 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록 내에서 상기 참조 블록과 인접한 인접 화소를 상기 참조 블록 인접 화소로서 선택하는 것을 특징으로 하는 영상 복호화 방법.
  24. 제 21 항에 있어서, 상기 현재 블록의 예측 블록으로서 생성하는 단계는,
    상기 복원되는 현재 블록의 움직임 정보에 의해 식별되는 상기 현재 블록의 참조 픽처 색인과 상기 현재 블록의 주변 블록의 참조 픽처 색인이 동일하고 상기 복원되는 현재 블록의 움직임 정보에 의해 식별되는 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 주변 블록의 움직임 벡터의 차이가 기준 임계치 이하인 경우, 상기 현재 블록의 주변 블록 내에서 상기 현재 블록과 인접한 인접 화소를 상기 현재 블록 인접 화소로서 선택하고, 상기 현재 블록의 주변 블록의 움직임 벡터에 의해 지시되는 주변 참조 블록 내에서 상기 참조 블록과 인접한 인접 화소를 상기 참조 블록 인접 화소로서 선택하는 것을 특징으로 하는 영상 복호화 방법.
  25. 예측 부호화를 위한 인터 예측 방법에 있어서,
    현재 블록의 움직임을 추정하여 현재 움직임 벡터를 결정하는 단계;
    상기 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하는 단계;
    현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하는 단계;
    상기 참조 블록에 상기 움직임 보상 계수를 반영하여 변경 참조 블록을 생성하는 단계; 및
    상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  26. 제 25 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 참조 블록에 대한 부호화 비용과 상기 변경 참조 블록에 대한 부호화 비용을 기초로 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 것을 특징으로 하는 인터 예측 방법.
  27. 제 26 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 참조 블록에 대한 부호화 비용을 계산하는 단계;
    상기 변경 참조 블록에 대한 부호화 비용을 계산하는 단계;
    상기 참조 블록에 대한 부호화 비용이 상기 변경 참조 블록에 대한 부호화 비용보다 큰 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계; 및
    상기 참조 블록에 대한 부호화 비용이 상기 변경 참조 블록에 대한 부호화 비용보다 작거나 같은 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  28. 제 25 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 움직임 보상 계수의 값을 기초로 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 것을 특징으로 하는 인터 예측 방법.
  29. 제 28 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 움직임 보상 계수가 '0'이 아닌 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계; 및
    상기 움직임 보상 계수가 '0'인 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  30. 제 28 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 움직임 보상 계수가 기 설정된 범위 내인 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계; 및
    상기 움직임 보상 계수가 상기 기 설정된 범위 밖인 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  31. 제 30 항에 있어서, 상기 기 설정된 범위는,
    상한 임계값보다 작고 하한 임계값보다 큰 범위이며, 상기 상한 임계값과 상기 하한 임계값은 상기 현재 블록 인접 화소와 상기 참조 블록 인접 화소의 분산, 표준편차 및 상관계수 중 하나 이상을 이용하여 결정되는 것을 특징으로 하는 인터 예측 방법.
  32. 제 25 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 움직임 보상 계수를 적용하여 상기 현재 블록의 움직임을 추가로 추정하여 상기 현재 움직임 벡터를 재조정하는 것을 특징으로 하는 인터 예측 방법.
  33. 제 25 항에 있어서, 상기 움직임 보상 계수는,
    상기 현재 블록 인접 화소의 평균과 상기 참조 블록 인접 화소의 평균의 차인 것을 특징으로 하는 인터 예측 방법.
  34. 제 25 항에 있어서,
    상기 현재 블록 인접 화소 및 상기 참조 블록 인접 화소는,
    상기 현재 블록을 부호화하기 전에 이미 부호화되고 복호화되어 복원된 화소인 것을 특징으로 하는 인터 예측 방법.
  35. 제 25 항에 있어서, 상기 변경 참조 블록을 생성하는 단계는,
    상기 참조 블록의 각 화소에서 상기 움직임 보상 계수를 감산하여 상기 변경 참조 블록을 생성하는 것을 특징으로 하는 인터 예측 방법.
  36. 제 35 항에 있어서, 상기 변경 참조 블록을 생성하는 단계는,
    상기 참조 블록의 각 화소에서 상기 움직임 보상 계수를 감산한 값을 화소가 표현되는 값의 범위 내로 제한하여 상기 변경 참조 블록을 생성하는 것을 특징으로 하는 인터 예측 방법.
  37. 예측 부호화를 위한 인터 예측 방법에 있어서,
    현재 블록의 움직임을 추정하여 상기 현재 블록의 움직임 정보를 결정하는 단계;
    상기 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하는 단계;
    상기 현재 블록의 움직임 정보와 상기 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산하는 단계;
    상기 참조 블록에 상기 평균 보상 계수를 반영하여 변경 참조 블록을 생성하는 단계; 및
    상기 변경 참조 블록을 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  38. 제 37 항에 있어서, 상기 현재 블록은,
    매크로블록으로부터 변환 단위로 분할된 서브블록인 것을 특징으로 하는 인터 예측 방법.
  39. 제 37 항에 있어서, 상기 현재 블록의 주변 블록은,
    상기 현재 블록과 인접한 블록 중 기 부호화되고 복호화되어 복원된 블록인 것을 특징으로 하는 인터 예측 방법.
  40. 제 37 항에 있어서, 상기 평균 보상 계수를 계산하는 단계는,
    상기 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록이 상기 참조 블록이 포함되는 참조 픽처에서 상기 참조 블록의 주변 블록인 경우, 상기 현재 블록의 주변 블록 내에서 상기 현재 블록과 인접한 인접 화소를 상기 현재 블록 인접 화소로서 선택하고, 상기 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록 내에서 상기 참조 블록과 인접한 인접 화소를 상기 참조 블록 인접 화소로서 선택하는 것을 특징으로 하는 인터 예측 방법.
  41. 제 37 항에 있어서, 상기 평균 보상 계수를 계산하는 단계는,
    상기 현재 블록의 움직임 정보에 의해 식별되는 참조 픽처 색인과 상기 현재 블록의 주변 블록의 움직임 정보에 의해 식별되는 참조 픽처 색인이 동일하고 상기 현재 블록의 움직임 정보에 의해 식별되는 움직임 벡터와 상기 현재 블록의 주변 블록의 움직임 정보에 의해 식별되는 움직임 벡터의 차이가 기준 임계치 이하인 경우, 상기 현재 블록의 주변 블록 내에서 상기 현재 블록과 인접한 인접 화소를 상기 현재 블록 인접 화소로서 선택하고, 상기 현재 블록의 주변 블록의 움직임 벡터에 의해 지시되는 주변 참조 블록 내에서 상기 참조 블록과 인접한 인접 화소를 상기 참조 블록 인접 화소로서 선택하는 것을 특징으로 하는 인터 예측 방법.
  42. 제 41 항에 있어서, 상기 평균 보상 계수를 계산하는 단계는,
    상기 현재 블록의 움직임 벡터와 상기 현재 블록의 주변 블록의 움직임 벡터 간의 거리가 거리 임계치 이하인 경우, 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 주변 블록의 움직임 벡터의 차이가 상기 기준 임계치 이하인 것으로 판단하는 것을 특징으로 하는 인터 예측 방법.
  43. 제 37 항에 있어서, 상기 평균 보상 계수는,
    상기 현재 블록 인접 화소의 평균과 상기 참조 블록 인접 화소의 평균의 차인 것을 특징으로 하는 인터 예측 방법.
  44. 제 37 항에 있어서, 상기 변경 참조 블록을 생성하는 단계는,
    상기 참조 블록의 각 화소에서 상기 평균 보상 계수를 감산하여 상기 변경 참조 블록을 생성하는 것을 특징으로 하는 인터 예측 방법.
  45. 제 37 항에 있어서, 상기 변경 참조 블록을 생성하는 단계는,
    상기 참조 블록의 각 화소에서 상기 평균 보상 계수를 감산한 값을 화소가 표현되는 값의 범위 내로 제한하여 상기 변경 참조 블록을 생성하는 것을 특징으로 하는 인터 예측 방법.
  46. 제 37 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 참조 블록에 대한 부호화 비용을 계산하는 단계;
    상기 변경 참조 블록에 대한 부호화 비용을 계산하는 단계;
    상기 참조 블록에 대한 부호화 비용이 상기 변경 참조 블록에 대한 부호화 비용보다 큰 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계; 및
    상기 참조 블록에 대한 부호화 비용이 상기 변경 참조 블록에 대한 부호화 비용보다 작거나 같은 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  47. 제 37 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 평균 보상 계수가 '0'이 아닌 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계; 및
    상기 평균 보상 계수가 '0'인 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  48. 제 37 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 평균 보상 계수가 기 설정된 범위 내인 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계; 및
    상기 평균 보상 계수가 상기 기 설정된 범위 밖인 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  49. 제 48 항에 있어서, 상기 기 설정된 범위는,
    상한 임계값보다 작고 하한 임계값보다 큰 범위이며, 상기 상한 임계값과 상기 하한 임계값은 상기 현재 블록 인접 화소와 상기 참조 블록 인접 화소의 분산, 표준편차 및 상관계수 중 하나 이상을 이용하여 결정되는 것을 특징으로 하는 인터 예측 방법.
  50. 제 37 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 평균 보상 계수를 적용하여 상기 현재 블록의 움직임을 추가로 추정하여 상기 현재 블록의 움직임 정보의 움직임 벡터를 재조정하는 것을 특징으로 하는 인터 예측 방법.
  51. 예측 복호화를 위한 인터 예측 방법에 있어서,
    상기 부호화 데이터를 복호화하여 복원되는 현재 움직임 벡터에 의해 지시되는 참조 블록을 생성하는 단계;
    현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 움직임 보상 계수를 계산하는 단계;
    상기 참조 블록에 상기 움직임 보상 계수를 반영하여 변경 참조 블록을 생성하는 단계; 및
    상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  52. 제 51 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 부호화 데이터로부터 추출되는 움직임 보상 계수 사용 정보가 상기 움직임 보상 계수를 사용함을 나타내는 경우 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하고, 상기 움직임 보상 계수 사용 정보가 상기 움직임 보상 계수를 사용하지 않음을 나타내는 경우 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 것을 특징으로 하는 인터 예측 방법.
  53. 제 51 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 움직임 보상 계수가 '0'이 아닌 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하고, 상기 움직임 보상 계수가 '0'인 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 것을 특징으로 하는 인터 예측 방법.
  54. 제 51 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 움직임 보상 계수가 기 설정된 범위 내인 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하고, 상기 움직임 보상 계수가 상기 기 설정된 범위 밖인 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 것을 특징으로 하는 인터 예측 방법.
  55. 예측 복호화를 위한 인터 예측 방법에 있어서,
    부호화 데이터를 복호화하여 복원되는 현재 블록의 움직임 정보에 의해 지시되는 참조 블록을 생성하는 단계;
    상기 복원되는 현재 블록의 움직임 정보와 상기 현재 블록의 주변 블록의 움직임 정보를 기초로 선택되는 현재 블록 인접 화소와 참조 블록 인접 화소를 이용하여 평균 보상 계수를 계산하는 단계;
    상기 참조 블록에 상기 평균 보상 계수를 반영하여 변경 참조 블록을 생성하는 단계; 및
    상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  56. 제 55 항에 있어서, 상기 현재 블록은,
    매크로블록으로부터 변환 단위로 분할된 서브블록인 것을 특징으로 하는 인터 예측 방법.
  57. 제 55 항에 있어서, 상기 현재 블록의 주변 블록은,
    상기 현재 블록과 인접한 블록 중 기 복호화되어 복원된 블록인 것을 특징으로 하는 인터 예측 방법.
  58. 제 55 항에 있어서, 상기 평균 보상 계수를 계산하는 단계는,
    상기 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록이 상기 참조 블록이 포함되는 참조 픽처에서 상기 참조 블록의 주변 블록인 경우, 상기 현재 블록의 주변 블록 내에서 상기 현재 블록과 인접한 인접 화소를 상기 현재 블록 인접 화소로서 선택하고, 상기 현재 블록의 주변 블록의 움직임 정보에 의해 지시되는 주변 참조 블록 내에서 상기 참조 블록과 인접한 인접 화소를 상기 참조 블록 인접 화소로서 선택하는 것을 특징으로 하는 인터 예측 방법.
  59. 제 55 항에 있어서, 상기 평균 보상 계수를 계산하는 단계는,
    상기 복원되는 현재 블록의 움직임 정보에 의해 식별되는 상기 현재 블록의 참조 픽처 색인과 상기 현재 블록의 주변 블록의 참조 픽처 색인이 동일하고 상기 복원되는 현재 블록의 움직임 정보에 의해 식별되는 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 주변 블록의 움직임 벡터의 차이가 기준 임계치 이하인 경우, 상기 현재 블록의 주변 블록 내에서 상기 현재 블록과 인접한 인접 화소를 상기 현재 블록 인접 화소로서 선택하고, 상기 현재 블록의 주변 블록의 움직임 벡터에 의해 지시되는 주변 참조 블록 내에서 상기 참조 블록과 인접한 인접 화소를 상기 참조 블록 인접 화소로서 선택하는 것을 특징으로 하는 인터 예측 방법.
  60. 제 55 항에 있어서, 상기 평균 보상 계수를 계산하는 단계는,
    상기 복원되는 현재 블록의 움직임 정보에 의해 식별되는 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 주변 블록의 움직임 벡터 간의 거리가 거리 임계치 이하인 경우, 상기 현재 블록의 움직임 벡터와 상기 현재 블록의 주변 블록의 움직임 벡터의 차이가 상기 기준 임계치 이하인 것으로 판단하는 것을 특징으로 하는 인터 예측 방법.
  61. 제 55 항에 있어서, 상기 평균 보상 계수는,
    상기 현재 블록 인접 화소의 평균과 상기 참조 블록 인접 화소의 평균의 차인 것을 특징으로 하는 인터 예측 방법.
  62. 제 55 항에 있어서, 상기 변경 참조 블록을 생성하는 단계는,
    상기 참조 블록의 각 화소에서 상기 평균 보상 계수를 감산하여 상기 변경 참조 블록을 생성하는 것을 특징으로 하는 인터 예측 방법.
  63. 제 55 항에 있어서, 상기 변경 참조 블록을 생성하는 단계는,
    상기 참조 블록의 각 화소에서 상기 평균 보상 계수를 감산한 값을 화소가 표현되는 값의 범위 내로 제한하여 상기 변경 참조 블록을 생성하는 것을 특징으로 하는 인터 예측 방법.
  64. 제 55 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 부호화 데이터로부터 추출되는 평균 보상 계수 사용 정보가 상기 평균 보상 계수를 사용함을 나타내는 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계; 및
    상기 평균 보상 계수 사용 정보가 상기 평균 보상 계수를 사용하지 않음을 나타내는 경우 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  65. 제 55 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 평균 보상 계수가 '0'이 아닌 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계; 및
    상기 평균 보상 계수가 '0'인 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
  66. 제 55 항에 있어서, 상기 현재 블록의 예측 블록으로서 결정하는 단계는,
    상기 평균 보상 계수가 기 설정된 범위 내인 경우, 상기 변경 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계; 및
    상기 평균 보상 계수가 상기 기 설정된 범위 밖인 경우, 상기 참조 블록을 상기 현재 블록의 예측 블록으로서 결정하는 단계
    를 포함하는 것을 특징으로 하는 인터 예측 방법.
PCT/KR2010/006518 2009-09-25 2010-09-24 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 WO2011037420A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/497,928 US9571851B2 (en) 2009-09-25 2010-09-24 Inter prediction method and apparatus using adjacent pixels, and image encoding/decoding method and apparatus using same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20090091047A KR101479123B1 (ko) 2009-09-25 2009-09-25 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR10-2009-0091047 2009-09-25
KR1020090099501A KR101432767B1 (ko) 2009-10-20 2009-10-20 움직임 정보 기반의 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR10-2009-0099501 2009-10-20

Publications (2)

Publication Number Publication Date
WO2011037420A2 true WO2011037420A2 (ko) 2011-03-31
WO2011037420A3 WO2011037420A3 (ko) 2011-08-04

Family

ID=43796396

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/006518 WO2011037420A2 (ko) 2009-09-25 2010-09-24 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Country Status (2)

Country Link
US (1) US9571851B2 (ko)
WO (1) WO2011037420A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140185948A1 (en) * 2011-05-31 2014-07-03 Humax Co., Ltd. Method for storing motion prediction-related information in inter prediction method, and method for obtaining motion prediction-related information in inter prediction method
CN104541507A (zh) * 2012-07-11 2015-04-22 Lg电子株式会社 处理视频信号的方法和装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2010144450A (ru) * 2010-10-29 2012-05-10 ЭлЭсАй Корпорейшн (US) Оценка движения для видео транскодера
US9894386B2 (en) 2012-04-12 2018-02-13 Goldpeak Innovations Inc. Transform method based on block information, and apparatus using said method
KR102260146B1 (ko) * 2014-03-31 2021-06-03 인텔렉추얼디스커버리 주식회사 시점 간 움직임 병합 후보 유도 방법 및 장치
WO2017156669A1 (en) * 2016-03-14 2017-09-21 Mediatek Singapore Pte. Ltd. Methods for motion vector storage in video coding
DE102016116580B4 (de) * 2016-09-05 2019-08-29 Bury Sp.Z.O.O Haltersystem für ein elektronisches Gerät
US11290730B2 (en) 2017-10-05 2022-03-29 Interdigital Vc Holdings, Inc. Method and apparatus for adaptive illumination compensation in video encoding and decoding
US11546602B2 (en) 2018-08-24 2023-01-03 Samsung Electronics Co., Ltd. Method and apparatus for image encoding, and method and apparatus for image decoding
US11218694B2 (en) * 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
US11445174B2 (en) * 2019-05-06 2022-09-13 Tencent America LLC Method and apparatus for video coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060043681A (ko) * 2004-03-16 2006-05-15 캐논 가부시끼가이샤 화소보간장치, 화소보간방법, 및 프로그램 및 기록매체
KR20090034697A (ko) * 2007-10-04 2009-04-08 삼성전자주식회사 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치
KR20090090151A (ko) * 2008-02-20 2009-08-25 삼성전자주식회사 영상 복구를 이용한 인터 예측 부호화, 복호화 방법 및장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3349447B1 (en) * 2002-08-08 2019-11-06 Godo Kaisha IP Bridge 1 Moving picture decoding method
KR101356734B1 (ko) * 2007-01-03 2014-02-05 삼성전자주식회사 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060043681A (ko) * 2004-03-16 2006-05-15 캐논 가부시끼가이샤 화소보간장치, 화소보간방법, 및 프로그램 및 기록매체
KR20090034697A (ko) * 2007-10-04 2009-04-08 삼성전자주식회사 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치
KR20090090151A (ko) * 2008-02-20 2009-08-25 삼성전자주식회사 영상 복구를 이용한 인터 예측 부호화, 복호화 방법 및장치

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140185948A1 (en) * 2011-05-31 2014-07-03 Humax Co., Ltd. Method for storing motion prediction-related information in inter prediction method, and method for obtaining motion prediction-related information in inter prediction method
US20150036750A1 (en) * 2011-05-31 2015-02-05 Humax Holdings Co., Ltd. Method for storing movement prediction-related information in an interscreen prediction method, and method for calculating the movement prediction-related information in the inter-screen prediction method
US20150036741A1 (en) * 2011-05-31 2015-02-05 Humax Holdings Co., Ltd. Method for storing movement prediction-related information in an interscreen prediction method, and method for calculating the movement prediction-related information in the inter-screen prediction method
CN104541507A (zh) * 2012-07-11 2015-04-22 Lg电子株式会社 处理视频信号的方法和装置
RU2609753C2 (ru) * 2012-07-11 2017-02-02 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство для обработки видеосигнала

Also Published As

Publication number Publication date
US9571851B2 (en) 2017-02-14
WO2011037420A3 (ko) 2011-08-04
US20130022118A1 (en) 2013-01-24

Similar Documents

Publication Publication Date Title
WO2011037420A2 (ko) 인접 화소를 이용한 인터 예측 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
WO2010085064A2 (ko) 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
WO2019107916A1 (ko) 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
WO2011087321A2 (en) Method and apparatus for encoding and decoding motion vector
WO2018070790A1 (ko) 영상의 부호화/복호화 방법 및 장치
WO2010027170A2 (ko) 예측 방향 전환과 선택적 부호화를 이용한 영상 부호화/복호화 장치 및 방법
WO2011090314A2 (en) Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates
WO2013002557A2 (ko) 움직임 정보의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2014171713A1 (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
WO2011142603A2 (ko) 영상의 필터링 방법 및 장치와 그를 이용한 부호화/복호화를 위한 방법 및 장치
WO2010044563A2 (ko) 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
WO2011031044A2 (ko) 고해상도 동영상의 부호화/복호화 방법 및 장치
WO2019017694A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020130617A1 (ko) 비디오 데이터를 처리하기 위한 방법 및 장치
WO2011016702A2 (ko) 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2020004990A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2014003421A1 (ko) 비디오 부호화 및 복호화를 위한 방법
WO2019194568A1 (ko) 어파인 모델 기반의 영상 부호화/복호화 방법 및 장치
WO2011053022A2 (en) Method and apparatus for encoding/decoding image with reference to a plurality of frames
WO2021054676A1 (ko) Prof를 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
WO2020004979A1 (ko) 영상 부호화/복호화 방법 및 장치
WO2020017892A1 (ko) 서브블록 단위의 시간적 움직임 벡터 예측을 위한 방법 및 그 장치
WO2019027145A1 (ko) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2020262931A1 (ko) 비디오/영상 코딩 시스템에서 머지 데이터 신택스의 시그널링 방법 및 장치
WO2020184847A1 (ko) Dmvr 및 bdof 기반의 인터 예측 방법 및 장치

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13497928

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 02-07-2012)

122 Ep: pct application non-entry in european phase

Ref document number: 10819061

Country of ref document: EP

Kind code of ref document: A2