KR101369171B1 - Video Coding Apparatus and Method - Google Patents

Video Coding Apparatus and Method Download PDF

Info

Publication number
KR101369171B1
KR101369171B1 KR1020090016159A KR20090016159A KR101369171B1 KR 101369171 B1 KR101369171 B1 KR 101369171B1 KR 1020090016159 A KR1020090016159 A KR 1020090016159A KR 20090016159 A KR20090016159 A KR 20090016159A KR 101369171 B1 KR101369171 B1 KR 101369171B1
Authority
KR
South Korea
Prior art keywords
block
motion vector
pixel
motion
transform coefficient
Prior art date
Application number
KR1020090016159A
Other languages
Korean (ko)
Other versions
KR20100097286A (en
Inventor
김하윤
문주희
이영렬
김해광
전병우
박형미
Original Assignee
에스케이 텔레콤주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이 텔레콤주식회사 filed Critical 에스케이 텔레콤주식회사
Priority to KR1020090016159A priority Critical patent/KR101369171B1/en
Priority to PCT/KR2010/001040 priority patent/WO2010098556A2/en
Publication of KR20100097286A publication Critical patent/KR20100097286A/en
Application granted granted Critical
Publication of KR101369171B1 publication Critical patent/KR101369171B1/en

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/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
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

본 발명은 영상 부호화/복호화 장치 및 방법에 관한 것이다.The present invention relates to an image encoding / decoding apparatus and method.

본 발명은 영상을 블록 단위로 부호화하는 장치에 있어서, 입력 영상에서 부호화하고자 하는 블록의 움직임 및 블록의 화소별 또는 변환 계수별 움직임을 추정하고 보상함으로써 블록을 인터 예측 부호화하여 비트스트림을 출력하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.According to an aspect of the present invention, there is provided an apparatus for encoding an image in block units, wherein the bit stream is output by performing inter prediction encoding on a block by estimating and compensating for a motion of a block to be encoded and a motion for each pixel or transform coefficient of the block. A video encoding apparatus is provided.

본 발명에 의하면, 부호화하고자 하는 블록의 더욱 정확한 움직임 예측이 가능하고 잔여블록(변환계수)의 엔트로피 부호화 성능을 향상시키며 그에 따라 압축 성능 향상시킬 수 있다.According to the present invention, more accurate motion prediction of a block to be encoded can be performed, and the entropy encoding performance of a residual block (transform coefficient) can be improved, and thus compression performance can be improved.

인터 예측, 블록 움직임 벡터, 변환 계수별 움직임 벡터, 화소별 움직임 벡터 Inter prediction, block motion vector, motion vector by transform coefficient, motion vector by pixel

Description

영상 부호화/복호화 장치 및 방법{Video Coding Apparatus and Method}Technical Field [0001] The present invention relates to a video encoding / decoding apparatus and method,

본 발명은 영상 부호화/복호화 장치 및 방법에 관한 것이다. 더욱 상세하게는, 영상을 인터 예측 부호화하는데 있어서 다수의 움직임 벡터를 사용하여 잔여블록(변환계수)의 부호화 성능을 향상시킴으로써 압축 성능을 향상시키는 장치 및 방법에 관한 것이다.The present invention relates to an image encoding / decoding apparatus and method. More particularly, the present invention relates to an apparatus and method for improving compression performance by improving encoding performance of residual blocks (transform coefficients) using a plurality of motion vectors in inter prediction encoding of an image.

동영상 데이터는 데이터의 크기가 커서 저장하거나 전송하기 위해서는 압축하는 과정이 반드시 필요하다. 통상적으로 동영상 데이터를 부호화하는 경우, 동영상 데이터의 각 픽처를 블록 단위로 인트라 예측(Intra Prediction) 또는 인터 예측(Inter Predictiom), 변환(Transform), 양자화(Quantisation) 및 엔트로피 코딩(Entropy Coding) 등을 수행하여 부호화한다.Since video data is large in size, a compression process is necessary to store or transmit the data. In general, when video data is encoded, intra prediction or inter prediction, transform, quantization, and entropy coding may be performed for each picture of the video data in blocks. Perform the encoding.

특히, 동영상에서 가장 많은 데이터 중복성을 가지는 시간적 중복성은 참조픽처(Reference Picture)의 데이터를 이용하여 움직임 추정(Motion Estimation)과 움직임 보상(Motion Compensation)을 수행한다. 이때, 추정된 움직임 벡터(MV: Motion Vector)에 의해서 보상된 예측 영상과 원 영상과의 차이만을 부호화함으로써 높은 데이터 압축률을 달성할 수 있다. 가장 최근에 제정된 H.264/AVC 표준에 따른 영상 부호화 장치는, 인터 예측 부호화 시에 더욱 높은 효율을 얻기 위해, 다양한 블록 크기, 1/4 화소 움직임 보정, 다중 참조 픽쳐, 일반화 양방향 예측, 적응식 루프 디블록킹 기술 등을 사용한다.In particular, temporal redundancy having the most data redundancy in a video performs motion estimation and motion compensation using data of a reference picture. In this case, a high data compression ratio may be achieved by encoding only a difference between the predicted image compensated by the estimated motion vector (MV) and the original image. The video encoding apparatus according to the recently established H.264 / AVC standard has various block sizes, 1/4 pixel motion correction, multiple reference pictures, generalized bidirectional prediction, and adaptation in order to obtain higher efficiency in inter prediction encoding. Equation loop deblocking techniques are used.

이러한 통상적인 인터 예측 부호화는 블록 단위로 예측과 부호화를 수행하는데, 압축 성능을 높이기 위해, 16x16 크기의 블록으로부터 4x4 크기의 블록에 이르기까지 다양한 크기의 블록에 대해서 움직임 벡터를 적용한다. 하지만, 하나의 블록 내에는 움직임이 다른 다양한 물체들이 함께 존재할 수 있다. 이 경우, 블록 단위의 움직임 벡터를 적용하는 경우 블록을 변환했을 때, 고주파 성분의 변환 계수(Transform Coefficient)들이 발생하게 되며, 이로 인해 가변 길이 부호화(VLC: Variable Length Coding) 시 충분한 압축 성능을 제공하지 못하는 문제점이 있다.In the conventional inter prediction encoding, prediction and encoding are performed on a block basis. In order to increase compression performance, motion vectors are applied to blocks of various sizes ranging from 16x16 blocks to 4x4 blocks. However, various objects having different movements may exist together in one block. In this case, when the block vector is applied, transform coefficients of high frequency components are generated when the block is transformed, thereby providing sufficient compression performance in variable length coding (VLC). There is a problem that can not be.

전술한 문제점을 해결하기 위해 본 발명은, 블록의 화소 또는 변환 계수별 움직임 벡터를 이용하여 참조블록을 조합 또는 블록의 변환계수를 조합하여 인터 예측 부호화를 수행함으로써 부호화하고자 하는 블록의 더욱 정확한 움직임 예측과 변환계수의 부호화 성능을 향상시키며 그에 따라 압축 성능 향상시키는 것을 주된 목적으로 한다.In order to solve the above problem, the present invention provides a more accurate motion prediction of a block to be encoded by performing inter prediction encoding by combining a reference block or a combination of transform coefficients of a block using a motion vector for each pixel or transform coefficient of the block. The main purpose of the present invention is to improve the encoding performance of the transform coefficient and the transform coefficient, and thus the compression performance.

전술한 목적을 달성하기 위해 본 발명은, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하여 출력하는 블록 및 변환 계수별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 현재 블록과 예측 블록을 감산한 잔여 블록을 출력하고 현재 블록과 참조 블록을 감산한 차이 블록을 출력하는 감산기; 잔여 블록 및 차이 블록을 변환하는 변환기; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화기; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합기; 및 결합 블록, 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.In order to achieve the above object, the present invention provides an apparatus for encoding an image, comprising: a block and transform coefficient motion estimator for estimating and outputting a block motion vector and a motion vector for each transform coefficient of a current block; A block for transforming the prediction block predicted using the block motion vector and the reference block predicted using the motion vector for each transform coefficient; A subtractor for outputting a residual block obtained by subtracting the current block and the prediction block and outputting a difference block obtained by subtracting the current block and the reference block; A transformer for transforming the residual block and the difference block; A quantizer for quantizing the transformed residual block and the transformed difference block; A coefficient combiner for generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And an encoder for encoding a combined block, a block motion vector, and a motion vector for each transform coefficient, and outputting a bitstream.

또한, 본 발명의 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터를 추정하여 출력하는 블록 움직임 추정기; 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고 출력하는 변환 계수별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 현재 블록과 예측 블록을 감산한 잔여 블록을 출력하고 현재 블록과 참조 블록을 감산한 차이 블록을 출력하는 감산기; 잔여 블록 및 차이 블록을 변환하는 변환기; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화기; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합기; 및 결합 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으 로 하는 영상 부호화 장치를 제공한다.According to another object of the present invention, there is provided an apparatus for encoding an image, comprising: a block motion estimator for estimating and outputting a block motion vector of a current block; A motion estimator for each transform coefficient for estimating and outputting a motion vector for each transform coefficient of the current block using the block motion vector; A block for transforming the prediction block predicted using the block motion vector and the reference block predicted using the motion vector for each transform coefficient; A subtractor for outputting a residual block obtained by subtracting the current block and the prediction block and outputting a difference block obtained by subtracting the current block and the reference block; A transformer for transforming the residual block and the difference block; A quantizer for quantizing the transformed residual block and the transformed difference block; A coefficient combiner for generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And an encoder for encoding the combined block and the block motion vector and outputting a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하여 출력하는 블록 및 변환 계수별 움직임 추정기; 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고, 블록 및 개별 움직임 추정기에 의해 추정된 변환 계수별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 다른 움직임 벡터를 출력하는 변환 계수별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 블록 및 개별 움직임 추정기에 의해 추정된 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 현재 블록과 예측 블록을 감산한 잔여 블록을 출력하고 현재 블록과 참조 블록을 감산한 차이 블록을 출력하는 감산기; 잔여 블록 및 차이 블록을 변환하는 변환기; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화기; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합기; 및 결합 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.According to still another object of the present invention, there is provided an apparatus for encoding an image, comprising: a block and transform coefficient motion estimator for estimating and outputting a block motion vector and a motion vector for each transform coefficient of a current block; A motion vector for each transform coefficient of the current block is estimated using the block motion vector, and a motion vector different from the motion vector for each transform coefficient estimated using the block motion vector from the motion vector for each transform coefficient estimated by the block and the individual motion estimator. A motion estimator for each transform coefficient that outputs a? A block and transform coefficient motion compensator for outputting a prediction block predicted using the block motion vector and a reference block predicted using the motion vector for each transform coefficient estimated by the individual motion estimator; A subtractor for outputting a residual block obtained by subtracting the current block and the prediction block and outputting a difference block obtained by subtracting the current block and the reference block; A transformer for transforming the residual block and the difference block; A quantizer for quantizing the transformed residual block and the transformed difference block; A coefficient combiner for generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And an encoder for encoding a combined block, a block motion vector, and another motion vector to output a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하는 블록 및 변환 계수별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 현재 블록과 예측 블록을 감산한 잔여 블록 및 현재 블록과 참조 블록을 감산한 차이 블록을 생성하는 감산 단계; 잔여 블록 및 차이 블록을 변환하는 변환 단계; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화 단계; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합 단계; 및 결합 블록, 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to still another object of the present invention, there is provided a video encoding method comprising: a block and transform coefficient motion estimation step of estimating a block motion vector and a motion vector for each transform coefficient of a current block; A motion compensation step for each block and transform coefficients for generating a reference block predicted using the block motion vector and a reference block predicted using the motion vector for each transform coefficient; Generating a residual block obtained by subtracting the current block and the prediction block and a difference block obtained by subtracting the current block and the reference block; Transforming the residual block and the difference block; A quantization step of quantizing the transformed residual block and the transformed difference block; A coefficient combining step of generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And an encoding step of encoding a combined block, a block motion vector, and a motion vector for each transform coefficient, and outputting a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터를 추정하는 블록 움직임 추정 단계; 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하는 변환 계수별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하고 현재 블록과 참조 블록을 감산한 차이 블록을 생성하는 감산 단계; 잔여 블록 및 차이 블록을 변환하는 변환 단계; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화 단계; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합 단계; 및 결합 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to still another object of the present invention, there is provided a video encoding method comprising: a block motion estimation step of estimating a block motion vector of a current block; Estimating a motion vector for each transform coefficient of the current block by using the block motion vector; A motion compensation step for each block and transform coefficients for generating a reference block predicted using the block motion vector and a reference block predicted using the motion vector for each transform coefficient; Generating a residual block obtained by subtracting the current block and the prediction block and generating a difference block obtained by subtracting the current block and the reference block; Transforming the residual block and the difference block; A quantization step of quantizing the transformed residual block and the transformed difference block; A coefficient combining step of generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And an encoding step of encoding the combined block and the block motion vector and outputting the bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하는 블록 및 변환 계수별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고, 블록 및 변환 계수별 움직임 추정기에 의해 추정된 변환 계수별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 다른 움직임 벡터를 추출하는 변환 계수별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 블록 및 개별 움직임 추정기에 의해 추정된 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 현재 블록과 예측 블록을 감산한 잔여 블록 및 현재 블록과 참조 블록을 감산한 차이 블록을 생성하는 감산 단계; 잔여 블록 및 차이 블록을 변환하는 변환 단계; 변환된 잔여 블록과 변환된 차이 블록을 양자화하는 양자화 단계; 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합 단계; 및 결합 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to still another object of the present invention, there is provided a video encoding method comprising: a block and transform coefficient motion estimation step of estimating a block motion vector and a motion vector for each transform coefficient of a current block; The motion vector for each transform coefficient of the current block is estimated using the block motion vector, and the motion vector for each transform coefficient estimated from the motion vector for each transform coefficient estimated by the motion estimator for each block and transform coefficient is different from the motion vector for each transform coefficient estimated using the block motion vector. A motion estimation step for each transform coefficient for extracting a motion vector; A block and transform coefficient motion compensation step of generating a prediction block predicted using the block motion vector and a reference block predicted using the motion vector for each transform coefficient estimated by the individual motion estimator; Generating a residual block obtained by subtracting the current block and the prediction block and a difference block obtained by subtracting the current block and the reference block; Transforming the residual block and the difference block; A quantization step of quantizing the transformed residual block and the transformed difference block; A coefficient combining step of generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And an encoding step of encoding a combined block, a block motion vector, and another motion vector to output a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 출력하고 복원된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 복원된 결합 블록을 역 양자화하는 역 양자화기; 예측 블록 및 참조 블록을 이용하 여 역 양자화된 결합 블록의 변환 계수 중 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정기; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환기; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.According to still another object of the present invention, there is provided an apparatus for decoding an image, comprising: a decoder for decoding a bitstream to reconstruct a block motion vector, a motion vector for each transform coefficient, and a combined block of a current block; A block and a motion compensator for transform coefficients predicting a current block using a reconstructed block motion vector and outputting a prediction block and predicting a current block using a reconstructed motion vector for each transform coefficient; An inverse quantizer for inversely quantizing the recovered combined block; A coefficient corrector for correcting a transform coefficient generated by predicting a motion vector for each transform coefficient among the transform coefficients of the inverse quantized combined block using the prediction block and the reference block, as a transform coefficient for the restored block motion vector; An inverse transformer for inversely transforming the corrected combined block to restore the residual block; And an adder for reconstructing the current block by adding the predicted block and the reconstructed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 결합 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여 출력하는 변환 계수별 움직임 추정기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 출력하고 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 복원된 결합 블록을 역 양자화하는 역 양자화기; 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 추정된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정기; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환기; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.According to still another object of the present invention, there is provided an apparatus for decoding an image, comprising: a decoder for decoding a bitstream to reconstruct a block motion vector and a combined block of a current block; A motion coefficient for each transform coefficient for estimating and outputting a motion vector for each transform coefficient of the current block by using the reconstructed block motion vector; A block and a motion compensator for transform coefficients, which predict a current block by using the reconstructed block motion vector, output a prediction block, and predict a current block by using the estimated motion vector for each transform coefficient, and output a reference block; An inverse quantizer for inversely quantizing the recovered combined block; A coefficient corrector for correcting a transform coefficient generated by predicting a motion vector for each transform coefficient among the transform coefficients of the inverse quantized combined block using the prediction block and the reference block, as a transform coefficient for the reconstructed block motion vector; An inverse transformer for inversely transforming the corrected combined block to restore the residual block; And an adder for reconstructing the current block by adding the predicted block and the reconstructed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 결합 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여 출력하는 변환 계수별 움직임 추정기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 출력하고 복원된 다른 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기; 복원된 결합 블록을 역 양자화하는 역 양자화기; 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 추정된 변환 계수별 움직임 벡터와 복원된 다른 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정기; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환기; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.According to still another object of the present invention, there is provided an apparatus for decoding an image, comprising: a decoder for decoding a bitstream to reconstruct a block motion vector, another motion vector, and a combined block of a current block; A motion coefficient for each transform coefficient for estimating and outputting a motion vector for each transform coefficient of the current block by using the reconstructed block motion vector; Block predicting the current block by using the reconstructed block motion vector and outputting a predictive block, and predicting the current block by using the reconstructed motion vector and the motion vector for each estimated transform coefficient, and outputting a reference block and motion for each transform coefficient. Compensator; An inverse quantizer for inversely quantizing the recovered combined block; A transform coefficient predicted by a transform vector of the transform coefficients of the inverse quantized combined block using a predictive block and a reference block and predicted by another transform vector and a reconstructed motion vector is corrected as a transform coefficient for the reconstructed block motion vector. Coefficient corrector; An inverse transformer for inversely transforming the corrected combined block to restore the residual block; And an adder for reconstructing the current block by adding the predicted block and the reconstructed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 복원된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 복원된 결합 블록을 역 양자화하는 역 양자화 단계; 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정 단계; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환 단계; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of decoding an image, comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector, a motion vector for each transform coefficient, and a combined block of a current block; A block and a motion compensation step of transform coefficients for predicting a current block by using the reconstructed block motion vectors and generating a reference block by predicting the current block using the reconstructed motion vectors for each transform coefficient; An inverse quantization step of inverse quantization of the recovered combined block; A coefficient correction step of correcting a transform coefficient generated by predicting a motion vector for each transform coefficient among the transform coefficients of the inverse quantized combined block using the prediction block and the reference block, as a transform coefficient for the restored block motion vector; An inverse transform step of inversely transforming the corrected combined block to restore a residual block; And an addition step of reconstructing the current block by adding the prediction block and the reconstructed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 결합 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하는 변환 계수별 움직임 추정 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 복원된 결합 블록을 역 양자화하는 역 양자화 단계; 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 추정된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정 단계; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환 단계; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of decoding an image, comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector and a combined block of a current block; A motion estimation step for each transform coefficient for estimating a motion vector for each transform coefficient of the current block using the reconstructed block motion vector; A motion compensation step of a block and transform coefficients for generating a prediction block by predicting a current block using the reconstructed block motion vector and generating a reference block by predicting the current block using the estimated motion vector for each transform coefficient; An inverse quantization step of inverse quantization of the recovered combined block; A coefficient correction step of correcting a transform coefficient generated by predicting a motion vector for each transform coefficient among the transform coefficients of the inverse quantized combined block using the prediction block and the reference block, as a transform coefficient for the reconstructed block motion vector; An inverse transform step of inversely transforming the corrected combined block to restore a residual block; And an addition step of reconstructing the current block by adding the prediction block and the reconstructed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 결합 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하는 변환 계수별 움직임 추정 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 복원된 다른 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하 여 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계; 복원된 결합 블록을 역 양자화하는 역 양자화 단계; 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 추정된 변환 계수별 움직임 벡터와 복원된 다른 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정 단계; 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환 단계; 및 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of decoding an image, comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector, another motion vector, and a combined block of a current block; A motion estimation step for each transform coefficient for estimating a motion vector for each transform coefficient of the current block using the reconstructed block motion vector; Predict a current block by using the reconstructed block motion vector to generate a predictive block, and by using the reconstructed motion vector and estimated transform coefficients, the block and transform coefficients that generate a reference block by predicting the current block by using the motion vector Motion compensation step; An inverse quantization step of inverse quantization of the recovered combined block; A transform coefficient predicted by a transform vector of the transform coefficients of the inverse quantized combined block using a predictive block and a reference block and predicted by another transform vector and a reconstructed motion vector is corrected as a transform coefficient for the reconstructed block motion vector. Coefficient correction step; An inverse transform step of inversely transforming the corrected combined block to restore a residual block; And an addition step of reconstructing the current block by adding the prediction block and the reconstructed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하여 출력하는 블록 및 화소별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하여 출력하는 블록 및 화소별 움직임 보상기; 현재 블록과 예측 블록을 감산한 잔여 블록을 출력하는 감산기; 잔여 블록을 변환하는 변환기;상기 변환된 잔여 블록을 양자화하는 양자화기; 및 양자화된 잔여 블록, 블록 움직임 벡터 및 화소별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.According to still another object of the present invention, there is provided an apparatus for encoding an image, the apparatus comprising: a block and pixel motion estimator for estimating and outputting a block motion vector and a pixel-by-pixel motion vector of a current block; A block and pixel-specific motion compensator for generating and outputting a prediction block using pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-specific motion vector; A subtractor for outputting a residual block obtained by subtracting the current block and the prediction block; A transformer for transforming a residual block; a quantizer for quantizing the transformed residual block; And an encoder for encoding a quantized residual block, a block motion vector, and a pixel-by-pixel motion vector to output a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터를 추정하여 출력하는 블록 움직임 추정기; 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고 출력하는 화소별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화 소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기; 현재 블록과 예측 블록을 감산한 잔여 블록을 출력하는 감산기; 잔여 블록을 변환하는 변환기; 변환된 잔여 블록을 양자화하는 양자화기; 및 양자화된 잔여 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.According to still another object of the present invention, there is provided an apparatus for encoding an image, comprising: a block motion estimator for estimating and outputting a block motion vector of a current block; A pixel-specific motion estimator for estimating and outputting a pixel-specific motion vector of the current block using the block motion vector; A block and pixel-specific motion compensator for generating and outputting a prediction block using pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-specific motion vector; A subtractor for outputting a residual block obtained by subtracting the current block and the prediction block; A transformer for transforming the residual block; A quantizer for quantizing the transformed residual block; And an encoder for encoding the quantized residual block and the block motion vector and outputting a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 장치에 있어서, 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하여 출력하는 블록 및 화소별 움직임 추정기;상기 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고, 블록 및 화소별 움직임 추정기에 의해 추정된 화소별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정된 화소별 움직임 벡터와 다른 움직임 벡터를 출력하는 화소별 움직임 추정기; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 블록 및 화소별 움직임 추정기에 의해 추정된 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기; 현재 블록과 예측 블록을 감산하여 잔여 블록을 출력하는 감산기; 잔여 블록을 변환하는 변환기; 변환된 잔여 블록을 양자화하는 양자화기; 및 양자화된 잔여 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.According to yet another object of the present invention, in the apparatus for encoding an image, a block and pixel motion estimator for estimating and outputting a block motion vector and a pixel-by-pixel motion vector of the current block; a current using the block motion vector A pixel-by-pixel motion estimator for estimating a pixel-by-pixel motion vector and outputting a motion vector different from the pixel-by-pixel motion vector estimated using the block motion vector from the pixel-by-pixel motion vector estimated by the block and pixel-by-pixel motion estimator; Block and pixel for generating and outputting a prediction block using pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector estimated by the block-by-pixel motion estimator. Motion compensator; A subtractor for subtracting the current block and the prediction block to output a residual block; A transformer for transforming the residual block; A quantizer for quantizing the transformed residual block; And an encoder for encoding a quantized residual block, a block motion vector, and another motion vector to output a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하는 블록 및 화소별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계; 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하는 감산 단계; 잔여 블록을 변환하는 변환 단계; 변환된 잔여 블록을 양자화하는 양자화 단계; 양자화된 잔여 블록, 블록 움직임 벡터 화소별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of encoding an image, the method comprising: a block and pixel motion estimation step of estimating a block motion vector and a pixel-by-pixel motion vector of a current block; A block and pixel-specific motion compensation step of generating a prediction block using pixels of a reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector; A subtraction step of generating a residual block obtained by subtracting the current block and the prediction block; A transform step of transforming the residual block; A quantization step of quantizing the transformed residual block; And a coding step of encoding a quantized residual block and a block motion vector pixel-specific motion vector to output a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터를 추정하는 블록 움직임 추정 단계; 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하는 화소별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계; 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하는 감산 단계;상기 잔여 블록을 변환하는 변환 단계; 변환된 잔여 블록을 양자화하는 양자화 단계; 및 양자화된 잔여 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to still another object of the present invention, there is provided a video encoding method comprising: a block motion estimation step of estimating a block motion vector of a current block; A pixel-by-pixel motion estimation step of estimating a pixel-by-pixel motion vector of the current block using the block motion vector; A block and pixel-specific motion compensation step of generating a prediction block using pixels of a reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector; A subtraction step of generating a residual block obtained by subtracting a current block and a prediction block; a transformation step of transforming the residual block; A quantization step of quantizing the transformed residual block; And an encoding step of encoding the quantized residual block and the block motion vector and outputting a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하는 블록 및 화소별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고, 블록 및 화소별 움직임 추정기에 의해 추정된 화소별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정된 화소별 움직임 벡터와 다른 움직임 벡터를 추출하는 화소별 움직임 추정 단계; 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 블록 및 화소별 움직임 추정기에 의해 추정된 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상 단계; 현재 블록과 예측 블록을 감산하여 잔여 블록을 생성하는 감산 단계; 잔여 블록을 변환하는 변환 단계; 변환된 잔여 블록을 양자화하는 양자화 단계; 및 양자화된 잔여 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of encoding an image, the method comprising: a block and pixel motion estimation step of estimating a block motion vector and a pixel-by-pixel motion vector of a current block; Estimating the pixel-by-pixel motion vector of the current block by using the block motion vector, and extracting a motion vector different from the pixel-by-pixel motion vector estimated using the block motion vector from the pixel-by-pixel motion vector estimated by the block and pixel-by-pixel motion estimator. Per-pixel motion estimation step; Block and pixel for generating and outputting a prediction block using pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector estimated by the block-by-pixel motion estimator. Motion compensation step; Subtracting the current block and the prediction block to generate a residual block; A transform step of transforming the residual block; A quantization step of quantizing the transformed residual block; And an encoding step of encoding a quantized residual block, a block motion vector, and another motion vector to output a bitstream.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기; 복원된 잔여 블록을 역 양자화하는 역 양자화기; 역 양자화된 잔여 블록을 역 변환하는 역 변환기; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.According to still another object of the present invention, there is provided an apparatus for decoding an image, comprising: a decoder for decoding a bitstream to reconstruct a block motion vector, a pixel-by-pixel motion vector, and a residual block of a current block; Generating and outputting a prediction block using pixels of a reference block generated by predicting a current block using a reconstructed block motion vector and pixels of a reference block generated by predicting a current block using a reconstructed pixel-specific motion vector. Block and pixel-specific motion compensators; An inverse quantizer for inverse quantizing the reconstructed residual block; An inverse transformer for inversely transforming the inverse quantized residual block; And an adder for reconstructing the current block by adding the prediction block and the inverse transformed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 잔여 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하여 출력하는 화소별 움직임 추정기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기; 복원된 잔여 블록을 역 양자화하는 역 양자화기; 역 양자화된 잔여 블록을 역 변환하는 역 변환기; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.According to still another object of the present invention, there is provided an apparatus for decoding an image, comprising: a decoder for decoding a bitstream to reconstruct a block motion vector and a residual block of a current block; A pixel-by-pixel motion estimator that estimates and outputs a pixel-by-pixel motion vector of the current block by using the reconstructed block motion vector; A prediction block is generated and output using pixels of the reference block generated by predicting the current block using the reconstructed block motion vector and pixels of the reference block generated by predicting the current block using the motion vector for each transform coefficient. A block and pixel-specific motion compensator; An inverse quantizer for inverse quantizing the reconstructed residual block; An inverse transformer for inversely transforming the inverse quantized residual block; And an adder for reconstructing the current block by adding the prediction block and the inverse transformed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 잔여 블록을 복원하는 복호화기; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하여 출력하는 화소별 움직임 추정기; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 다른 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기; 복원된 잔여 블록을 역 양자화하는 역 양자화기; 역 양자화된 잔여 블록을 역 변환하는 역 변환기; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.According to still another object of the present invention, there is provided an apparatus for decoding an image, comprising: a decoder for decoding a bitstream to reconstruct a block motion vector, another motion vector, and a residual block of a current block; A pixel-by-pixel motion estimator that estimates and outputs a pixel-by-pixel motion vector of the current block by using the reconstructed block motion vector; By using the pixels of the reference block generated by predicting the current block using the reconstructed block motion vectors, and the pixels of the reference block generated by predicting the current block using the reconstructed other motion vectors and motion vectors for each of the estimated transform coefficients. A block and pixel-specific motion compensator for generating and outputting prediction blocks; An inverse quantizer for inverse quantizing the reconstructed residual block; An inverse transformer for inversely transforming the inverse quantized residual block; And an adder for reconstructing the current block by adding the prediction block and the inverse transformed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계; 복원된 잔여 블록을 역 양자화하는 역 양자화 단계; 역 양자화된 잔여 블록을 역 변환하는 역 변환기 단계; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of decoding an image, comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector, a pixel-by-pixel motion vector, and a residual block of a current block; A block for generating a prediction block using pixels of a reference block generated by predicting a current block using a reconstructed block motion vector and a pixel of the reference block generated by predicting a current block using a reconstructed pixel-specific motion vector; Pixel-by-pixel motion compensation; An inverse quantization step of inverse quantization of the reconstructed residual block; An inverse transformer step of inversely transforming the inverse quantized residual block; And an adding step of reconstructing the current block by adding the predicted block and the inverse transformed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 잔여 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하는 화소별 움직임 추정 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 추정된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계; 복원된 잔여 블록을 역 양자화하는 역 양자화 단계; 역 양자화된 잔여 블록을 역 변환하는 역 변환 단계; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of decoding an image, comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector and a residual block of a current block; A pixel-by-pixel motion estimation step of estimating a pixel-by-pixel motion vector of the current block using the reconstructed block motion vector; A block for generating a prediction block using pixels of a reference block generated by predicting a current block using a reconstructed block motion vector and a pixel of the reference block generated by predicting a current block using an estimated pixel-by-pixel motion vector; Pixel-by-pixel motion compensation; An inverse quantization step of inverse quantization of the reconstructed residual block; Inverse transforming the inversely quantized residual block; And an adding step of reconstructing the current block by adding the predicted block and the inverse transformed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 잔여 블록을 복원하는 복호화 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하는 화소별 움직임 추정 단계; 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 다른 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계; 복원된 잔여 블록을 역 양자화하는 역 양자화 단계; 역 양자화된 잔여 블록을 역 변환하는 역 변환 단계; 및 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원하는 가산 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of decoding an image, comprising: a decoding step of decoding a bitstream to reconstruct a block motion vector, another motion vector, and a residual block of a current block; A pixel-by-pixel motion estimation step of estimating a pixel-by-pixel motion vector of the current block using the reconstructed block motion vector; By using the pixels of the reference block generated by predicting the current block using the reconstructed block motion vectors, and the pixels of the reference block generated by predicting the current block using the reconstructed other motion vectors and motion vectors for each of the estimated transform coefficients. A block and pixel-specific motion compensation step of generating a prediction block; An inverse quantization step of inverse quantization of the reconstructed residual block; Inverse transforming the inversely quantized residual block; And an adding step of reconstructing the current block by adding the predicted block and the inverse transformed residual block.

또한, 본 발명의 또 다른 목적에 의하면, 영상을 블록 단위로 부호화하는 장치에 있어서, 입력 영상에서 부호화하고자 하는 블록의 움직임 및 블록의 화소별 또는 변환 계수별 움직임을 추정하고 보상하여 참조블록 또는 블록의 변환계수를 조합함으로써 블록을 인터 예측 부호화하여 비트스트림을 출력하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.According to still another object of the present invention, in an apparatus for encoding an image in block units, a reference block or a block is estimated by estimating and compensating for a motion of a block to be encoded in a input image and a motion for each pixel or transform coefficient of the block. A video encoding apparatus is characterized by outputting a bitstream by inter-prediction-coding a block by combining the transform coefficients.

이상에서 설명한 바와 같이 본 발명에 의하면, 부호화하고자 하는 블록의 움직임을 더욱 정확하게 예측하고 참조블록 또는 변환계수를 조합하여 변환계수의 엔트로피 부호화 성능을 향상시키며, 그에 따라 압축 성능을 향상시킬 수 있다.As described above, according to the present invention, the motion of a block to be encoded can be predicted more accurately, and the entropy encoding performance of the transform coefficient can be improved by combining the reference block or the transform coefficient, thereby improving the compression performance.

이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference symbols as possible even if they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. When a component is described as being "connected", "coupled", or "connected" to another component, the component may be directly connected or connected to the other component, Quot; may be "connected," "coupled," or "connected. &Quot;

이하에서 후술할 영상 부호화 장치와 영상 복호화 장치는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호 화기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다. The video encoding apparatus and the image decoding apparatus to be described below are a personal computer (PC), a notebook computer, a personal digital assistant (PDA), a portable multimedia player (PMP), and a PlayStation Portable ( PSP: PlayStation Portable), a mobile communication terminal, and the like, and communication devices such as communication modems for communicating with various devices or wired and wireless communication networks, and storing various programs and data for encoding or decoding images. Means a variety of devices including a memory for, a microprocessor for executing and operating a program.

또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 후술할 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.In addition, the image encoded in the bitstream by the video encoding apparatus is real-time or non-real-time through the wired or wireless communication network, such as the Internet, local area wireless communication network, wireless LAN network, WiBro network, mobile communication network, or the like, or a cable, universal serial bus (USB: Universal) It may be transmitted to an image decoding apparatus to be described later through a communication interface such as a serial bus, decoded by the image decoding apparatus, and restored and reproduced as an image.

또한, 후술할 영상 부호화 장치에는 인트라 예측을 수행하기 위한 기능이 구비되어 있지만, 본 발명의 실시예와 직접적인 관계가 없기 때문에, 혼란을 방지하기 위해 도면에서는 생략하였다.In addition, the video encoding apparatus to be described later is provided with a function for performing intra prediction, but since it is not directly related to the embodiment of the present invention, it is omitted in the drawings to prevent confusion.

통상적으로 동영상은 일련의 픽처(Picture)로 구성되어 있으며, 각 픽처들은 블록(Block)으로 분할된다. 각 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류된다.Usually, a moving picture is composed of a series of pictures, and each picture is divided into blocks. Each block is classified into an Intra block and an Inter block according to a coding method.

인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화된 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다.An intra block refers to a block coded using intra prediction coding. An intra prediction coding is performed by using pixels of blocks that are previously coded, decoded, and reconstructed in a current picture that performs current coding. A prediction block is generated by predicting pixels of a block and a difference value with pixels of the current block is encoded.

인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화된 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 송신하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 픽처를 참조 픽처(Reference Picture)라고 한다.An inter block refers to a block coded using inter prediction coding. Inter prediction coding generates a prediction block by predicting a current block in a current picture by referring to one or more past or future pictures, and then generates a current block. It is a method of transmitting the difference value with. Here, a picture referred to in encoding or decoding a current picture is referred to as a reference picture.

도 1은 본 발명의 제 1 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.1 is a block diagram schematically illustrating a video encoding apparatus according to a first embodiment of the present invention.

본 발명의 제 1 실시예에 따른 영상 부호화 장치(Video Encoding Apparatus, 100)는 블록 및 변환 계수별 움직임 추정기(Block & Transform Coefficient Motion Estimator, 110), 블록 및 변환 계수별 움직임 보상기(Block & Transform Coefficient Motion Compensator, 112), 감산기(Subtracter, 120), 변환기(Transformer, 130), 양자화기(Quantizer, 140), 계수 결합기(Coefficient Coupler, 150), 부호화기(Encoder, 160), 역 양자화기(Inverse Quantizer, 170), 계수 보정기(Coefficient Corrector, 180), 역 변환기(Inverse Transformer, 190), 가산기(Adder, 192), 디블로킹 필터(Deblocking Filter, 194) 및 픽처 버퍼(Picture Buffer, 196)를 포함하여 구성될 수 있다. 여기서, 역 양자화기(170), 계수 보정기(180), 역 변환기(190), 가산기(192), 디블로킹 필터(194) 및 픽처 버퍼(196)는 영상 부호화 장치(100)에 반드시 포함되지 않을 수 있으며, 구현에 따라 일부 또는 전부가 선택적으로 포함될 수 있다.The video encoding apparatus (Video Encoding Apparatus) 100 according to the first embodiment of the present invention includes a block and transform coefficient motion estimator 110 and a block and transform coefficient motion compensator. Motion Compensator (112), Subtracter (120), Transformer (130), Quantizer (Quantizer, 140), Coefficient Coupler (Coefficient Coupler, 150), Encoder (160), Inverse Quantizer 170), Coefficient Corrector 180, Inverse Transformer 190, Adder 192, Deblocking Filter 194 and Picture Buffer 196. Can be configured. Here, the inverse quantizer 170, the coefficient corrector 180, the inverse transformer 190, the adder 192, the deblocking filter 194 and the picture buffer 196 are not necessarily included in the image encoding apparatus 100. In some implementations, some or all of them may be selectively included.

블록 및 변환 계수별 움직임 추정기(110)는 현재 블록(Current Block)의 블록 움직임 벡터(Block Motion Vector) 및 변환 계수별 움직임 벡터(Transform Coefficient Motion Vector)를 추정하여 출력한다. 여기서, 현재 블록의 블록 움직 임 벡터는 참조 픽처에서 현재 블록과 가장 유사한 블록을 가리키는 움직임 벡터를 말하며, 현재 블록의 변환 계수별 움직임 벡터란 해당 움직임 벡터로 움직임 보상하여 예측한 화소값과 현재 블록의 원 화소값과의 차이값을 변환하고 양자화한 변환 계수로 부호화했을 때 부호화 성능이 최대가 되는 움직임 벡터를 말한다. 또한, 블록 움직임 벡터는 현재 블록에 대해 하나의 움직임 벡터가 추정되지만, 변환 계수별 움직임 벡터는 현재 블록에 대해 복수 개의 움직임 벡터가 추정될 수 있는데, 현재 블록의 화소의 개수에 대응하는 변환 계수의 수만큼 또는 그 개수 이하의 움직임 벡터가 추정될 수 있다.The motion estimator 110 for each block and transform coefficient estimates and outputs a block motion vector of the current block and a transform coefficient efficient vector for each transform coefficient. Here, the block motion vector of the current block refers to a motion vector indicating the block most similar to the current block in the reference picture, and the motion vector for each transform coefficient of the current block is the pixel value predicted by motion compensation with the motion vector and the current block. When the difference value from the original pixel value is transformed and encoded by the quantized transform coefficient, the motion vector maximizes the coding performance. In addition, although one motion vector is estimated with respect to the current block in the block motion vector, a plurality of motion vectors may be estimated with respect to the current block in the motion vector for each transform coefficient. As many as or less than one motion vector can be estimated.

블록 및 변환 계수별 움직임 보상기(112)는 블록 움직임 벡터를 이용하여 예측되는 예측 블록(Predicted Block) 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록(Reference Block)을 출력한다. 즉, 블록 및 변환 계수별 움직임 보상기(112)는 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 블록 움직임 벡터와 변환 계수별 움직임 벡터를 이용하여 현재 블록의 움직임을 각각 보상하여 예측되는 예측 블록과 참조 블록을 출력한다. 블록 움직임 벡터는 한 개이고 변환 계수별 움직임 벡터는 복수 개가 될 수 있으므로, 예측 블록은 한 개의 블록이 생성되고, 참조 블록은 추정된 변환 계수별 움직임 벡터의 수만큼 생성될 수 있다.The block and transform coefficient motion compensator 112 outputs a predicted block predicted using a block motion vector and a reference block predicted using a motion vector according to transform coefficients. That is, the motion compensator 112 for each block and transform coefficient predicts the motion of the current block by using the block motion vector estimated by the motion estimator 110 for each block and transform coefficient and the motion vector for each transform coefficient. Outputs a block and a reference block. Since there is one block motion vector and a plurality of motion vectors for each transform coefficient, one block is generated for the prediction block, and a reference block may be generated for the estimated number of motion vectors for each transform coefficient.

감산기(120)는 현재 블록과 예측 블록을 감산한 잔여 블록(Residual Block)을 출력하고 현재 블록과 참조 블록을 감산한 차이 블록(Difference Block)을 출력한다. 여기서, 잔여 블록은 현재 블록의 원 화소값과 예측 블록의 예측 화소값의 차이인 잔여 신호(Redual Signal)를 포함하며, 차이 블록은 현재 블록의 원 화소값 과 참조 블록의 예측 화소값의 차이인 잔여 신호를 포함한다.The subtractor 120 outputs a residual block obtained by subtracting the current block and the prediction block, and outputs a difference block obtained by subtracting the current block and the reference block. Here, the residual block includes a residual signal that is a difference between the original pixel value of the current block and the prediction pixel value of the prediction block, and the difference block is a difference between the original pixel value of the current block and the prediction pixel value of the reference block. Contains the residual signal.

변환기(130)는 잔여 블록 및 차이 블록을 변환한다. 여기서, 변환기(130)는 잔여 블록의 잔여 신호를 주파수 영역(Frequency Domain)으로 변환하고 차이 블록의 잔여 신호를 주파수 변환하는 데, 주파수 변환을 위해 이산 코사인 변환(DCT: Discrete Cosine Transform, 이하 'DCT'라 칭함) 기반 변환 또는 하다마드 변환(Hadamard Transform) 등을 이용할 수 있지만, 반드시 이에 한정되지 않고 DCT 변환을 개량 및 변형한 다양한 변환 기법을 이용할 수 있으며, 이를 이용하여 잔여 신호가 주파수 영역으로 변환되어 변환 계수(Transform Coefficient)로 변환된다.The converter 130 converts the residual block and the difference block. Here, the transformer 130 converts the residual signal of the residual block into a frequency domain and frequency transforms the residual signal of the difference block, and uses a Discrete Cosine Transform (DCT) for frequency conversion. Or a Hadamard Transform, but not necessarily limited thereto. Various transformation techniques in which the DCT transform is improved and modified may be used, and the residual signal may be transformed into the frequency domain. And transformed into transform coefficients.

양자화기(140)는 변환된 잔여 블록과 변환된 차이 블록을 양자화한다. 여기서, 양자화기(140)는 변환된 잔여 블록의 변환 계수와 변환된 차이 블록의 변환 계수를 양자화하는데, 양자화를 위해 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등을 이용할 수 있지만 이를 개량한 양자화 등 다양한 양자화 방법을 이용할 수 있다.Quantizer 140 quantizes the transformed residual block and the transformed difference block. Here, the quantizer 140 quantizes the transform coefficients of the transformed residual block and the transform coefficients of the transformed difference block. Dead zone uniform threshold quantization (DZUTQ) or quantization weight matrix Weighted Matrix) can be used, but various quantization methods such as improved quantization can be used.

계수 결합기(150)는 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록(Coupling Block)을 생성한다. 여기서, 계수 결합기(150)는 비트스트림(Bitstream)의 비트량을 최소화하는 양자화 변환 계수를 선택하여 결합 블록을 생성할 수 있다. 즉, 계수 결합기(150)는 양자화된 잔여 블록의 양자화 변환 계수들과 양자화된 차이 블록의 양자화 변환 계수들 중에서 선택적으로 결합하여 결합 블록을 생성하고 부호화했을 때, 출력되는 비트 스트림의 비트량이 최소가 되는 양자화 변환 계수들을 선택하여 결합 블록을 생성할 수 있다.The coefficient combiner 150 generates a coupling block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block. Here, the coefficient combiner 150 may generate a combined block by selecting quantization transform coefficients that minimize the amount of bits in the bitstream. That is, the coefficient combiner 150 selectively combines among the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block to generate and encode a combined block, and thus, the bit amount of the output bit stream is minimal. The combined block may be generated by selecting the quantized transform coefficients.

또한, 계수 결합기(150)는 양자화 변환 계수들을 선택하여 결합 블록을 생성하면, 움직임 벡터별로 선택된 양자화 변환 계수들의 위치에 대한 정보를 생성할 수 있으며, 생성된 정보는 부호화기(160)에서 부호화될 수 있다. 예를 들어, 결합 블록을 구성하는 양자화 변환 계수들이 A, B, C 세 개의 움직임 벡터에 해당하는 변환 계수들인 경우, 계수 결합기(150)는 A 움직임 벡터에 대한 양자화 변환 계수가 선택된 결합 블록의 위치, B 움직임 벡터에 대한 양자화 변환 계수가 선택된 결합 블록의 위치 및 C 움직임 벡터에 대한 양자화 변환 계수가 선택된 결합 블록의 위치를 생성할 수 있으며, 이와 같이 생성된 위치에 대한 정보들은 부호화기(160)에서 부호화될 수 있다.In addition, when the coefficient combiner 150 selects the quantization transform coefficients to generate a combined block, the coefficient combiner 150 may generate information about the positions of the selected quantization transform coefficients for each motion vector, and the generated information may be encoded by the encoder 160. have. For example, when the quantization transform coefficients constituting the combined block are transform coefficients corresponding to three motion vectors A, B, and C, the coefficient combiner 150 determines the position of the combined block in which the quantized transform coefficients for the A motion vector are selected. For example, the position of the combined block in which the quantization transform coefficients are selected for the B motion vector and the position in the combined block in which the quantization transform coefficients are selected for the C motion vector may be generated. Can be encoded.

부호화기(160)는 결합 블록, 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력한다. 즉, 부호화기(160)는 계수 결합기(150)에 의해 결합된 결합 블록의 양자화된 변환 계수들을 스캔하고 엔트로피 코딩(Entropy Coding) 등 다양한 부호화 기법을 이용하여 부호화함으로써 비트열을 생성하고, 블록 및 변환 계수별 움직임 추정기(110)로부터 출력되는 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트열을 생성함으로써 최종적인 비트스트림을 생성하여 출력한다. 또한, 전술한 바와 같이, 부호화기(160)는 계수 결합기(150)로부터 움직임 벡터별로 선택된 양자화 변환 계수들의 위치에 대한 정보가 전달되면 이를 부호화하여 비트스트림에 포함시킬 수 있다.The encoder 160 encodes a combined block, a block motion vector, and a motion vector for each transform coefficient, and outputs a bitstream. That is, the encoder 160 scans the quantized transform coefficients of the combined block combined by the coefficient combiner 150 and generates a bit string by encoding using various encoding techniques such as entropy coding, and generates a block and transform. A final bitstream is generated and output by encoding a block motion vector output from the coefficient-based motion estimator 110 and a motion vector for each transform coefficient. In addition, as described above, the encoder 160 may encode and include the information on the position of the quantized transform coefficients selected for each motion vector from the coefficient combiner 150 in the bitstream.

역 양자화기(170)는 양자화된 결합 블록을 역 양자화한다. 여기서, 역 양자화기(170)는 양자화기(140)에서 양자화한 방식의 역으로 수행함으로써 역 양자화(Inverse Quantization)를 수행한다.Inverse quantizer 170 inverse quantizes the quantized combining block. Here, the inverse quantizer 170 performs inverse quantization by performing the inverse of the method quantized by the quantizer 140.

계수 보정기(180)는 예측 블록과 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 블록 움직임 벡터에 대한 변환 계수로 보정한다. 즉, 계수 보정기(180)는 역 양자화된 결합 블록의 변환 계수들은 블록 움직임 벡터로 예측되어 생성된 변환 계수들과 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수들을 포함하고 있으므로, 역 변환기(190)가 결합 블록을 역 변환할 수 있도록, 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 블록 움직임 벡터에 대한 변환 계수로 보정한다. 계수 보정기(180)가 변환 계수를 보정하는 과정에 대해서는 후술하는 과정에서 도 3을 통해 상세히 설명한다.The coefficient corrector 180 corrects a transform coefficient generated by predicting a motion vector for each transform coefficient among transform coefficients of the inverse quantized combined block using the prediction block and the reference block, as a transform coefficient for the block motion vector. That is, the coefficient corrector 180 includes transform coefficients generated by predicting the block quantized combined block and transform coefficients generated by predicting the motion vector for each transform coefficient. ) Transforms the generated transform coefficient predicted by the motion vector for each transform coefficient to the transform coefficient for the block motion vector so as to inverse transform the combined block. A process of correcting the transform coefficient by the coefficient corrector 180 will be described in detail later with reference to FIG. 3.

역 변환기(190)는 보정된 결합 블록을 역 변환하여 잔여 블록을 복원한다. 여기서, 역 변환기(190)는 변환기(130)에서 변환한 방식의 역으로 수행함으로써 역 변환(Inverse Transform)을 수행한다.Inverse transformer 190 inversely transforms the corrected combined block to restore the residual block. Here, the inverse transformer 190 performs an inverse transform by performing the inverse of the method transformed by the transformer 130.

가산기(192)는 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한다. 여기서, 가산기(192)는 블록 및 변환 계수별 움직임 보상기(112)로부터 출력되는 예측 블록의 예측 화소값과 역 변환기(190)로부터 출력되는 잔여 블록의 복원된 잔여 신호를 가산하여 현재 블록의 원 화소값을 복원한다. 이때, 역 변환된 결합 블록에 포함된 복원된 잔차 신호는 계수 보정기(180)에 의해 블록 움직임 벡터 에 대해 보정되어 있으므로, 블록 움직임 벡터를 이용하여 움직임을 보상한 예측 블록의 화소값과 가산하면 된다.The adder 192 reconstructs the current block by adding the prediction block and the reconstructed residual block. Here, the adder 192 adds the predicted pixel value of the prediction block output from the motion compensator 112 for each block and transform coefficient and the reconstructed residual signal of the residual block output from the inverse transformer 190 to add the original pixel of the current block. Restore the value. In this case, since the reconstructed residual signal included in the inversely transformed combined block is corrected for the block motion vector by the coefficient corrector 180, the residual signal may be added to the pixel value of the prediction block that compensates for the motion using the block motion vector. .

디블로킹 필터(194)는 가산기(192)로부터 출력되는 복원된 현재 블록을 디블로킹 필터링(Deblocking Filtering)하여 블록 왜곡(Block Distortion or Blockiness) 등을 제거하여 출력한다. 픽처 버퍼(196)는 디블로킹 필터(194)에 의해 블록 왜곡 등이 제거된 현재 블록을 저장하여 블록 및 변환 계수별 움직임 추정기(110) 및 블록 및 변환 계수별 움직임 보상기(112)에서 움직임 벡터를 추정하고 움직임 벡터를 이용하여 움직임을 보상할 때 참조할 참조 픽처 또는 참조 블록으로 이용할 수 있도록 한다.The deblocking filter 194 removes block distortion or blockiness by deblocking filtering the restored current block output from the adder 192 and outputs the block distortion. The picture buffer 196 stores the current block from which the block distortion and the like are removed by the deblocking filter 194, and stores the motion vector in the motion estimator 110 for each block and transform coefficient and the motion compensator 112 for each block and transform coefficient. It can be used as a reference picture or a reference block for reference when estimating and compensating for motion using a motion vector.

도 2는 본 발명의 실시예에 따라 결합 블록을 생성하는 과정을 설명하기 위한 예시도이다.2 is an exemplary diagram for describing a process of generating a combining block according to an embodiment of the present invention.

도 2의 예시도를 참조하면, 블록 및 변환 계수별 움직임 추정기(110)는 하나 이상의 참조 픽처에서 현재 블록과 가장 유사한 블록을 찾아 블록 움직임 벡터로서 MV-block (-8, -8)를 찾을 수 있다. 이때, 블록 움직임 벡터인 MV-block (-8, -8)를 이용하여 움직임을 보상하여 현재 블록을 예측하고 현재 블록과 예측 블록을 감산하여 변환 및 양자화한 양자화된 잔여 블록의 변환 계수가 도시한 바와 같이, CMV-block(00~33)인 경우, 고주파 성분의 변환 계수(특히, C11, C13 내지 C30)가 '0'이 아니거나 큰 계수값이 존재하므로, 부호화하여 출력되는 비트스트림의 비트량이 커질 수 있다.Referring to the exemplary diagram of FIG. 2, the motion estimator 110 for each block and transform coefficient may find the MV-block (-8, -8) as a block motion vector by finding the block most similar to the current block in one or more reference pictures. have. In this case, the transform coefficients of the quantized residual block, which are transformed and quantized by predicting the current block by subtracting the motion using MV-block (-8, -8), which is a block motion vector, and subtracting the current block and the prediction block, are illustrated. As described above, in the case of the C MV-block (00 to 33) , since the transform coefficients of the high frequency component (especially, C 11 , C 13 to C 30 ) are not '0' or have a large coefficient value, they are encoded and output. The bit amount of the bitstream can be large.

비트스트림의 비트량을 줄이기 위해, 블록 및 변환 계수별 움직임 추정기(110)는 하나 이상의 참조 픽처에서 현재 블록과 유사한 다른 블록을 찾아 변환 계수별 움직임 벡터로서 MV1(-7.5, -8.5)와 MV2(-7.25, -8.25)를 찾을 수 있다. 변환 계수별 움직임 벡터를 찾을 때, 블록 움직임 벡터의 정밀도(Precision)와 동일하거나 다른 정밀도를 사용하여 움직임 벡터를 찾을 수 있다. 예를 들어, 블록 움직임 벡터는 정수 화소 단위의 움직임 벡터만을 사용하도록 하고, 변환 계수별 움직임 벡터는 정수 화소 이하의 단위(1/2 화소 또는 1/4 화소)의 정밀도를 가지는 움직임 벡터를 사용할 수 있다. 이 경우, 변환 계수별로 다른 정밀도를 가지는 움직임 벡터를 적용하는 것과 같다. 그리고 같은 정밀도(예를 들어, 1/4 화소)를 가지는 하나 이상의 움직임 벡터들을 사용할 수 있으며, 복수 개의 움직임 벡터에 따라 부호화 할 수 있는 변환 계수들의 개수도 사용자가 임의로 결정할 수 있다.In order to reduce the amount of bits in the bitstream, the motion estimator 110 for each block and transform coefficient finds another block similar to the current block in one or more reference pictures, as MV1 (-7.5, -8.5) and MV2 ( -7.25, -8.25). When the motion vector for each transform coefficient is found, the motion vector may be found using the same or different precision as that of the block motion vector. For example, a block motion vector may use only a motion vector of an integer pixel unit, and a motion vector for each transform coefficient may use a motion vector having a precision of a unit (1/2 pixel or 1/4 pixel) or less of an integer pixel. have. In this case, it is the same as applying a motion vector having different precision for each transform coefficient. In addition, one or more motion vectors having the same precision (for example, 1/4 pixel) may be used, and a user may arbitrarily determine the number of transform coefficients that can be encoded according to the plurality of motion vectors.

변환 계수별 움직임 벡터인 MV1과 MV2를 이용하여 움직임을 보상하여 현재 블록을 예측하고 현재 블록과 예측 블록을 감산하여 변환 및 양자화한 양자화된 잔여 블록의 변환 계수가 도시한 바와 같이 CMV1(00~33)과 CMV2(00~33)인 경우, 각 양자화된 잔여 블록의 변환 계수의 고주파 성분이 전반적으로 '0'이거나 작은 계수값을 가지지는 않지만, 고주파 성분의 몇몇 변환 계수들이 '0'이거나 작은 계수값을 가질 수 있다.Compensation of motion using MV1 and MV2, which are motion vectors for each transform coefficient, to predict the current block, subtract the current block and the prediction block, and transform and quantize the transformed coefficients of the quantized residual block, as shown in the C MV1 (00 ~ 33) and C MV2 (00 to 33) , the high frequency components of the transform coefficients of each quantized residual block are not generally '0' or have small coefficient values, but some of the transform coefficients of the high frequency components are '0' or small. It can have a coefficient value.

따라서, 계수 결합기(150)는 CMV-block(00~33)에서 고주파 성분의 변환 계수 중 큰 계수값을 가지는 변환 계수들을 제외한 나머지 변환 계수들을 선택하고, 제외된 변환 계수들은 CMV1(00~33)과 CMV2(00~33)의 변환 계수들 중 적절한 것을 선택하고 결합하여 결합 블록을 생성한다. 이와 같이 생성된 결합 블록의 변환 계수들은 C(00~33)로 생성될 수 있다. 도시한 바와 같이, 최종적으로 생성된 결합 블록의 변환 계수들은 고주파 성분에서 '0'이거나 작은 계수값을 가지므로 부호화 성능을 높일 수 있으며, 그에 따라 비트스트림의 비트량을 최소화할 수 있다.Accordingly, the coefficient combiner 150 selects the remaining transform coefficients except the transform coefficients having the large coefficient value among the transform coefficients of the high frequency component in the C MV-blocks 00 to 33, and the excluded transform coefficients are C MV1 (00 to 33) . 33) and a suitable one of transform coefficients of C MV2 (00 to 33) are selected and combined to generate a combined block. The transform coefficients of the combined block generated as described above may be generated by C (00 to 33) . As shown, the transform coefficients of the finally generated combined block have a coefficient value of '0' or small in the high frequency component, thereby increasing encoding performance, thereby minimizing the bit amount of the bitstream.

도 3은 본 발명의 실시예에 따라 계수를 보정하는 과정을 설명하기 위한 예시도이다.3 is an exemplary diagram for describing a process of correcting a coefficient according to an embodiment of the present invention.

역 양자화된 결합 블록의 변환 계수들은 블록 움직임 벡터로 예측되어 생성된 변환 계수들과 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수들을 포함하고 있으므로, 역 변환기(190)가 결합 블록을 역 변환할 수 있도록, 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 블록 움직임 벡터에 대한 변환 계수로 보정해야 한다.Since the transform coefficients of the inverse quantized combined block include transform coefficients predicted by the block motion vector and transform coefficients predicted by the motion vector for each transform coefficient, the inverse transformer 190 may inverse transform the combined block. In order to solve this problem, the transform coefficient predicted as the motion vector for each transform coefficient should be corrected as the transform coefficient for the block motion vector.

변환 계수의 보정은 수학식 1을 이용하여 이루어질 수 있다. Correction of the conversion coefficient may be made using Equation 1.

CoeffMV-bock(j, i) = Coeff(j, i) + T[Diff](j,i)Coeff MV-bock (j, i) = Coeff (j, i) + T [Diff] (j, i)

여기서, CoeffMV-bock(j, i)은 블록 움직임 벡터에 의해 움직임 보상되어 생성된 변환 계수를 말하며, Coeff(j, i)는 변환 계수별 움직임 벡터에 의해 움직임 보상되어 생성된 변환 계수를 말하면, T[Diff](j, i)는 블록 움직임 벡터가 가리키는 예측 블록과 변환 계수별 움직임 벡터가 가리키는 참조 블록 간의 차이 블록을 변 환한 블록의 계수를 말한다.Here, Coeff MV-bock (j, i) refers to transform coefficients generated by motion compensation by block motion vectors, and Coeff (j, i) refers to transform coefficients generated by motion compensation by motion vectors of transform coefficients. , T [Diff] (j, i) refers to the coefficient of the block that converted the difference block between the prediction block indicated by the block motion vector and the reference block indicated by the motion vector for each transform coefficient.

수학식 1을 통해 T[Diff](j,i)를 알면 Coeff(j, i)를 CoeffMV-bock(j, i)로 보정할 수 있다는 것을 알 수 있다. 또한, T[Diff](j, i)는 예측 블록과 변환 참조 블록 간의 차이 블록을 변환한 블록이기 때문에, 결국 블록 및 변환 계수별 움직임 보상기(112)로부터 출력되는 예측 블록과 참조 블록을 이용하면 변환 계수별 움직임 벡터에 의해 움직임 보상되어 생성된 변환 계수를 블록 움직임 벡터에 의해 움직임 보상되어 생성된 변환 계수로 보정할 수 있다.Knowing T [Diff] (j, i) through Equation 1, it can be seen that Coeff (j, i) can be corrected to Coeff MV-bock (j, i). In addition, since T [Diff] (j, i) is a block obtained by transforming a difference block between the prediction block and the transform reference block, when the prediction block and the reference block output from the motion compensator 112 for each block and transform coefficient are used. The transform coefficient generated by motion compensation by the motion vector for each transform coefficient may be corrected by the transform coefficient generated by motion compensation by the block motion vector.

수학식 1은 아래와 같은 수학식 2 내지 수학식 4를 통해 도출될 수 있다. 아래의 수학식 2 내지 수학식 4는 결합 블록이 도 2를 통해 예를 들어 전술한 바와 같이 생성된 경우에 대한 수학식으로서 그 예에 따라 달라질 수 있다.Equation 1 may be derived through Equation 2 to Equation 4 below. Equations 2 to 4 below are equations for the case where the combined block is generated as described above with reference to FIG. 2, for example, and may vary according to the example.

차이 블록은 예측 블록과 참조 블록의 차이이므로, 수학식 2와 같이 나타낼 수 있다.Since the difference block is the difference between the prediction block and the reference block, it can be expressed as in Equation 2.

Diff1(j, i) = RefMV1(j, i) - RefMV-block(j, i)Diff 1 (j, i) = Ref MV1 (j, i)-Ref MV-block (j, i)

Diff2(j, i) = RefMV2(j, i) - RefMV-block(j, i)Diff 2 (j, i) = Ref MV2 (j, i)-Ref MV-block (j, i)

수학식 2의 양변을 변환하면, 수학식 3과 같이 나타낼 수 있다.When both sides of Equation 2 are converted, Equation 3 can be expressed.

T[Diff1](j, i) = CoeffMV1(j, i) - CoeffMV-bock(j, i)T [Diff 1 ] (j, i) = Coeff MV1 (j, i)-Coeff MV-bock (j, i)

T[Diff2](j, i) = CoeffMV2(j, i) - CoeffMV-bock(j, i)T [Diff 2 ] (j, i) = Coeff MV2 (j, i)-Coeff MV-bock (j, i)

수학식 3을 블록 움직임 벡터(MV-block)의 변환 계수에 대해 정리하면 수학식 4과 같이 나타낼 수 있다.Equation 3 can be expressed as Equation 4 with respect to the transform coefficients of the block motion vector (MV-block).

CoeffMV-bock(j, i) = CoeffMV1(j, i) + T[Diff1](j,i)Coeff MV-bock (j, i) = Coeff MV1 (j, i) + T [Diff 1 ] (j, i)

CoeffMV-bock(j, i) = CoeffMV2(j, i) + T[Diff2](j,i)Coeff MV-bock (j, i) = Coeff MV2 (j, i) + T [Diff 2 ] (j, i)

수학식 4를 변환 계수별 움직임 벡터에 대해 일반화시키면 수학식 1을 도출할 수 있다.By generalizing Equation 4 to the motion vector for each transform coefficient, Equation 1 can be derived.

도 3에서는 계수 보정기(180)가 수학식 1을 통해 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 블록 움직임 벡터에 대한 변환 계수로 보정하는 과정을 예시적으로 나타내었다.In FIG. 3, the coefficient corrector 180 predicts a process of correcting a transform coefficient generated by predicting the motion vector for each transform coefficient as a transform coefficient for a block motion vector through Equation 1.

결합 블록이 도 2를 통해 예를 들어 설명한 바와 같이, 블록 움직임 벡터 MV-Block과 변환 계수별 움직임 벡터 MV1, MV2로 움직임 보상되고 변환 및 양자화된 변환 계수들이 선택적으로 결합된 블록이라면, 계수 보정기(180)는 블록 및 변환 계수별 움직임 보상기(112)로부터 블록 움직임 벡터(MVblock)가 가리키는 예측 블록(RefMV-lock)과 변환 계수별 움직임 벡터(MV1, MV2)가 가리키는 참조 블록(RefMV1, RefMV2)을 얻는다. 이후, 계수 보정기(180)는 변환 계수의 보정값을 얻기 위해 예측 블록과 참조 블록 간의 차이 블록(Diff1, Diff2)을 구하고 차이 블록(Diff1, Diff2) 을 변환한 후, 각각 MV1에 해당하는 변환 계수 CoeffMV1와 MV2에 해당하는 변환 계수 CoeffMV2와 가산함으로써, 각 움직임 벡터에 해당하는 변환 계수 CoeffMV1, CoeffMV2를 블록 움직임 벡터에 해당하는 계수 CoeffMV-block으로 보정한다.If the combined block is a block in which motion compensation is performed by the block motion vector MV-Block and the transform coefficient-specific motion vectors MV1 and MV2 and the transformed and quantized transform coefficients are selectively combined, as described for example through FIG. 2, the coefficient corrector ( The reference block Ref MV-lock indicated by the block motion vector MV block and the reference block Ref indicated by the motion vectors MV 1 and MV 2 according to the transform coefficients are determined from the block and transform coefficient motion compensator 112. MV1 , Ref MV2 ). Then, the cycle corrector 180 to then obtain the difference block (Diff 1, Diff 2) between the predicted block and the reference block in order to obtain a correction value of the conversion coefficient transform the difference block (Diff 1, Diff 2), each MV1 by the transformation coefficient Coeff MV2 and adds to the corresponding transform coefficient Coeff MV1 and MV2 which corrects a transform coefficient Coeff MV1, MV2 Coeff for each motion vector MV to the coefficient Coeff-block corresponding to the block motion vector.

예를 들어, 도 3에서 역 양자화기(170)로부터 입력되는 변환 계수 C(00~33) 중 MV1에 해당하는 위치((1,1), (2,3))의 변환 계수(C(1,1), C(2,3))와 Diff1 블록을 변환한 블록의 MV1에 해당하는 위치((1,1), (2,3))의 변환 계수를 더한다(여기서, (Diff1(j, i)= RefMV1(j, i) - RefMV-block(j, i)임). 같은 방법으로 입력되는 변환 계수 C(00~33) 중 MV2에 해당하는 위치((0,2), (1,3), (2,0), (2, 1), (2, 2), (3,0)) 변환 계수(C(0,2), C(1,3), C(2,0), C(2,1), C(2,2), C(3,0))와 Diff2 블록을 변환한 블록의 MV1에 해당하는 위치((0,2), (1,3), (2,0), (2, 1), (2, 2), (3,0))의 계수를 더한다(여기서, (Diff2(j, i) = RefMV2(j, i) - RefMV-block(j, i)임).For example, the transform coefficients of the position ((1,1), (2,3)) corresponding to MV 1 of the transform coefficients C (00 ~ 33) input from the inverse quantizer 170 in Fig. 3 (C ( 1,1) , C (2,3) and the transform coefficients of the positions ((1,1), (2,3)) corresponding to MV 1 of the block in which the Diff 1 block is transformed (where (Diff 1 (j, i) = Ref MV1 (j, i)-Ref MV-block (j, i)). The position corresponding to MV 2 among the conversion coefficients C (00 to 33) input in the same way ((0 , 2), (1,3), (2,0), (2, 1), (2, 2), (3,0)) transformation coefficients (C (0,2) , C (1,3) , C (2,0), C (2,1), C (2,2), C (3,0)) and the position ((0,2) corresponding to MV 1 of the transform block the Diff 2 block, Add the coefficients of (1,3), (2,0), (2, 1), (2, 2), (3,0)), where (Diff 2 (j, i) = Ref MV2 (j , i)-Ref MV-block (j, i)).

이때, 계수 보정기(180)는 각 움직임 벡터에 해당하는 변환 계수의 위치에 대한 정보를 계수 결합기(150)로부터 전달받아 역 양자화기(170)에 의해 역 양자화된 결합 블록에서 각 움직임 벡터에 해당하는 변환 계수를 분리할 수 있다. 즉, 계수 보정기(180)는 계수 결합기(150)로부터 MV1에 해당하는 변환 계수의 위치는 (1,1), (2,3)이고 MV2에 해당하는 변환 계수의 위치는 (0,2), (1,3), (2,0), (2, 1), (2, 2), (3,0)임을 나타내는 정보를 전달받아, 역 양자화기(170)로부터 입력되 는 변환 계수 C(00~33) 중 전달된 정보에 의해 식별되는 위치에 따라 MV1에 해당하는 변환 계수 CoeffMV1와 MV2에 해당하는 변환 계수 CoeffMV2를 분리할 수 있다.In this case, the coefficient corrector 180 receives information about the position of the transform coefficient corresponding to each motion vector from the coefficient combiner 150 and corresponds to each motion vector in the combined block dequantized by the inverse quantizer 170. The conversion coefficients can be separated. That is, the coefficient corrector 180 has the positions of the transform coefficients corresponding to MV1 from the coefficient combiner 150 at (1,1), (2,3) and the positions of the transform coefficients corresponding to MV2 are (0,2), Transform coefficient C ( input from the inverse quantizer 170) received from the information indicating that it is (1,3), (2,0), (2, 1), (2, 2), (3,0). The conversion coefficients Coeff MV1 corresponding to MV1 and the conversion coefficient Coeff MV2 corresponding to MV2 may be separated according to the position identified by the transmitted information.

이와 같이, 계수 보정기(180)에 의해 보정된 변환 계수의 보정값은 역 양자화기(170)에 의해 역 양자화된 블록 움직임 벡터(MV-block)에 해당하는 변환 계수에 해당하는 변환 계수와 더하여 보정된 잔여 블록을 생성하고, 보정된 잔여 블록은 역 변환기(190)에 의해 역 변환되어 가산기(192)에 의해 블록 움직임 벡터(MV-block)로 움직임 보상되어 생성되는 예측 블록과 가산되어 현재 블록이 복원된다.As such, the correction value of the transform coefficient corrected by the coefficient corrector 180 is corrected in addition to the transform coefficient corresponding to the transform coefficient corresponding to the block motion vector (MV-block) dequantized by the inverse quantizer 170. Generated residual block, and the corrected residual block is inversely transformed by the inverse transformer 190 and added to the predicted block generated by motion compensation by the adder 192 into a block motion vector (MV-block). Is restored.

도 4는 본 발명의 제 1 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.4 is a flowchart illustrating a video encoding method according to a first embodiment of the present invention.

영상 부호화 장치는 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하고(S410), 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성하여(S420), 현재 블록과 예측 블록을 감산한 잔여 블록 및 현재 블록과 참조 블록을 감산한 차이 블록을 생성하고(S430), 잔여 블록 및 차이 블록을 변환하고(S440), 변환된 잔여 블록과 변환된 차이 블록을 양자화한다(S450).The image encoding apparatus estimates a block motion vector of the current block and a motion vector for each transform coefficient (S410), and generates a reference block predicted using the prediction block predicted using the block motion vector and a motion vector for each transform coefficient ( In operation S420, a residual block obtained by subtracting the current block and the prediction block and a difference block obtained by subtracting the current block and the reference block are generated (S430), the residual block and the difference block are transformed (S440), and the transformed residual block is converted into The difference block is quantized (S450).

또한, 영상 부호화 장치는 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하고(S460), 결합 블록, 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력한다(S470).In addition, the image encoding apparatus generates a combined block by using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block (S460), and encodes the combined block, the block motion vector, and the motion vector for each transform coefficient. The bitstream is output (S470).

도 5는 본 발명의 제 1 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.5 is a block diagram schematically illustrating an image decoding apparatus according to a first embodiment of the present invention.

본 발명의 제 1 실시예에 따른 영상 복호화 장치는 복호화기(Decoder, 510), 블록 및 변환 계수별 움직임 보상기(520), 역 양자화기(530), 계수 보정기(540), 역 변환기(550), 가산기(560), 디블로킹 필터(570) 및 픽처 버퍼(580)를 포함하여 구성될 수 있다. 여기서, 디블로킹 필터(570) 및 픽처 버퍼(580)는 영상 부호화 장치(100)에 반드시 포함되지 않을 수 있으며, 구현에 따라 일부 또는 전부가 선택적으로 포함될 수 있다.The image decoding apparatus according to the first embodiment of the present invention includes a decoder (Decoder, 510), a motion compensator (520) for each block and transform coefficients, an inverse quantizer (530), a coefficient corrector (540), and an inverse converter (550). , An adder 560, a deblocking filter 570, and a picture buffer 580. Here, the deblocking filter 570 and the picture buffer 580 may not necessarily be included in the image encoding apparatus 100, and some or all of them may be selectively included depending on the implementation.

복호화기(510)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원한다. 여기서, 복호화기(510)는 비트스트림을 복호화할 때, 영상 부호화 장치의 부호화기(160)에서 부호화한 부호화 기법과 동일 또는 유사하거나 그 역을 수행함으로써 복호화할 수 있다. 또한, 복호화기(510)는 비트스트림에 움직임 벡터별 양자화 변환 계수의 위치에 대한 정보가 포함된 경우, 이를 복호화하여 계수 보정기(540)로 전달할 수 있다.The decoder 510 decodes the bitstream to reconstruct the block motion vector, the motion vector for each transform coefficient, and the combined block of the current block. Here, the decoder 510 may decode the bitstream by performing the same or similar to the encoding scheme encoded by the encoder 160 of the image encoding apparatus, or vice versa. In addition, when the bitstream includes information on the position of the quantization transform coefficient for each motion vector in the bitstream, the decoder 510 may decode the information and transmit the information to the coefficient corrector 540.

블록 및 변환 계수별 움직임 보상기(520)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 출력하고 복원된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력한다. 즉, 블록 및 변환 계수별 움직임 보상기(520)는 복호화기(510)에 의해 복원된 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측함으로써 예측 블록과 참조 블록을 출력한다.The block and transform coefficient motion compensator 520 predicts the current block by using the reconstructed block motion vector, and outputs the prediction block, and predicts the current block by using the reconstructed motion vector by the transform coefficient, and outputs the reference block. That is, the block and transform coefficient motion compensator 520 outputs the prediction block and the reference block by predicting the current block by using the block motion vector reconstructed by the decoder 510 and the motion vector for each transform coefficient.

역 양자화기(530)는 복원된 결합 블록을 역 양자화한다. 즉, 역 양자화기(530)는 복호화기(510)에 의해 복원된 결합 블록의 양자화된 변환 계수를 역 양자화한다. 여기서, 역 양자화기(530)는 영상 부호화 장치의 역 양자화기(170)와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.Inverse quantizer 530 inverse quantizes the recovered combined block. That is, the inverse quantizer 530 inverse quantizes the quantized transform coefficients of the combined block reconstructed by the decoder 510. Here, since the inverse quantizer 530 performs the same or similar function as the inverse quantizer 170 of the image encoding apparatus, a detailed description thereof will be omitted.

계수 보정기(540)는 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정한다. 즉, 계수 보정기(540)는 역 양자화기(530)로부터 출력된 결합 블록의 변환 계수들을 블록 움직임 벡터에 대해 변환 계수로 통일시킨다. 여기서, 계수 보정기(540)는 영상 부호화 장치의 계수 보정기(180)에서 변환 계수를 보정하는 것과 동일 또는 유사한 과정을 통해 변환 계수를 보정하므로 상세한 설명은 생략한다.The coefficient corrector 540 corrects a transform coefficient generated by predicting a motion vector for each transform coefficient among the transform coefficients of the inverse quantized combined block using the prediction block and the reference block, as a transform coefficient for the restored block motion vector. . That is, the coefficient corrector 540 unifies the transform coefficients of the combined block output from the inverse quantizer 530 into the transform coefficients with respect to the block motion vector. Here, since the coefficient corrector 540 corrects the transform coefficient through the same or similar process as that of the coefficient corrector 180 of the image encoding apparatus, detailed description thereof will be omitted.

여기서, 계수 보정기(540)는 계수를 보정하기 위해 역 양자화된 결합 블록에서 각 움직임 벡터에 해당하는 변환 계수를 분리해야 하는데, 계수를 분리하기 위해 비트스트림에 포함된 정보를 이용하거나 계수 보정기(540)가 스스로 각 움직임 벡터에 해당하는 변환 계수를 탐색하는 등 다양한 방식으로 각 움직임 벡터에 해당하는 변환 계수의 위치를 파악하여 분리할 수 있다. 예를 들어, 계수 보정기(540)는 비트스트림에 포함된 각 움직임 벡터에 해당하는 변환 계수에 대한 정보를 이용할 수 있는데, 이 정보를 이용하여 각 움직임 벡터별 변환 계수를 식별하여 각 움직임 벡터에 해당하는 변환 계수를 분리할 수 있다.Here, the coefficient corrector 540 must separate transform coefficients corresponding to each motion vector from the inverse quantized combining block to correct the coefficients, and use the information included in the bitstream or the coefficient corrector 540 to separate the coefficients. ) Detects and separates positions of transform coefficients corresponding to each motion vector in various ways, such as by searching for transform coefficients corresponding to each motion vector. For example, the coefficient corrector 540 may use information on transform coefficients corresponding to each motion vector included in the bitstream. The coefficient corrector 540 identifies transform coefficients for each motion vector by using the information and corresponds to each motion vector. Transform coefficients can be separated.

역 변환기(550)는 보정된 결합 블록을 역 변환하여 잔여 블록을 복원한다. 즉, 역 변환기(550)는 계수 보정기(540)에 의해 블록 움직임 벡터에 대해 통일된 변환 계수들을 역 변환하여 잔여 신호를 복원함으로써 잔여 블록을 복원한다. 여기서, 역 변환기(550)는 영상 부호화 장치의 역 변환기(190)와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.Inverse transformer 550 inversely transforms the corrected combined block to restore the residual block. That is, the inverse transformer 550 restores the residual block by inversely transforming the uniform transform coefficients for the block motion vector by the coefficient corrector 540 to restore the residual signal. Here, since the inverse transformer 550 performs the same or similar function as the inverse transformer 190 of the image encoding apparatus, a detailed description thereof will be omitted.

가산기(560)는 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한다. 디블로킹 필터(570)와 픽처 버퍼(580)는 영상 부호화 장치의 디블로킹 필터(194) 및 픽처 버퍼(196)과 동일 또는 유사한 기능을 수행함으로 상세한 설명은 생략한다.The adder 560 reconstructs the current block by adding the prediction block and the reconstructed residual block. Since the deblocking filter 570 and the picture buffer 580 perform the same or similar functions as those of the deblocking filter 194 and the picture buffer 196 of the image encoding apparatus, a detailed description thereof will be omitted.

도 6은 본 발명의 제 1 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating an image decoding method according to a first embodiment of the present invention.

비트스트림이 입력되거나 저장된 비트스트림의 복호화 명령이 입력되면, 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원하고(S610), 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 복원된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 생성한다(S620).When the bitstream is input or the decoding command of the stored bitstream is input, the image decoding apparatus decodes the bitstream to restore a block motion vector, a motion vector for each transform coefficient, and a combined block of the current block (S610). A prediction block is generated by predicting the current block using the vector, and a reference block is generated by predicting the current block using the reconstructed motion vector for each transform coefficient (S620).

또한, 영상 복호화 장치는 복원된 결합 블록을 역 양자화하고(S630), 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하며(S640), 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하며(S650), 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한 다(S660).In addition, the apparatus for decoding an image inversely quantizes the reconstructed combined block (S630), and uses the predicted block and the reference block to perform transform coefficients generated by predicting a motion vector for each transform coefficient among the transform coefficients of the dequantized combined block. Correction is performed by the transform coefficients for the reconstructed block motion vector (S640), inversely transforming the corrected combined block to reconstruct the residual block (S650), and add the prediction block and the reconstructed residual block to reconstruct the current block ( S660).

이상에서는 본 발명의 제 1 실시예를 통해 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 함께 추정하고 모두 부호화하여 비트스트림을 생성하는 것에 대해 설명했다. 이 경우, 변환 계수별 움직임 벡터의 개수가 많아지면, 변환 계수별 움직임 벡터를 부호화하는 데 소요되는 비트량이 증가하여 압축 효율이 저하될 수 있다. 이하에서는 본 발명의 제 2 실시예를 통해 변환 계수별 움직임 벡터를 이용하여 부호화하면서도 변환 계수별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있는 방식에 대해 설명한다.In the above, the first embodiment of the present invention has been described to generate a bitstream by estimating a block motion vector and a motion vector for each transform coefficient together and encoding all of them. In this case, when the number of motion vectors for each transform coefficient increases, the amount of bits required to encode the motion vector for each transform coefficient increases, thereby reducing compression efficiency. Hereinafter, a method of reducing the amount of bits required to encode a motion vector for each transform coefficient while encoding using the motion vector for each transform coefficient will be described in accordance with a second embodiment of the present invention.

도 7은 본 발명의 제 2 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.7 is a block diagram schematically illustrating a video encoding apparatus according to a second embodiment of the present invention.

본 발명의 제 2 실시예에 따른 영상 부호화 장치는 도 1을 통해 전술한 본 발명의 제 1 실시예에 따른 영상 부호화 장치의 구성 요소 중 블록 및 변환 계수별 움직임 추정기(110)를 제외한 모든 구성 요소를 포함하며, 블록 움직임 추정기(710) 및 변환 계수별 움직임 추정기(720)를 추가로 포함한다. 여기서, 블록 및 변환 계수별 움직임 보상기(112), 감산기(120), 변환기(130), 양자화기(140), 계수 결합기(150), 역 양자화기(170), 계수 보정기(180), 역 변환기(190), 가산기(192), 디블로킹 필터(194) 및 픽처 버퍼(196)는 도 1을 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.In the image encoding apparatus according to the second embodiment of the present invention, all components except for the block and transform coefficient motion estimator 110 among the components of the image encoding apparatus according to the first embodiment of the present invention described above with reference to FIG. 1. And a block motion estimator 710 and a motion estimator 720 for each transform coefficient. Here, the motion compensator 112, the subtractor 120, the transformer 130, the quantizer 140, the coefficient combiner 150, the inverse quantizer 170, the coefficient corrector 180, and the inverse transformer for each block and transform coefficients. 190, the adder 192, the deblocking filter 194, and the picture buffer 196 perform the same or similar functions as described above with reference to FIG. 1, and thus a detailed description thereof will be omitted.

블록 움직임 추정기(710)는 현재 블록의 블록 움직임 벡터를 추정한다. 즉, 블록 움직임 추정기(710)는 하나 이상의 참조 픽처에서 현재 블록과 가장 유사한 블록을 찾아 그를 가리키는 움직임 벡터를 블록 움직임 벡터로서 추정한다.The block motion estimator 710 estimates a block motion vector of the current block. That is, the block motion estimator 710 finds the block most similar to the current block in one or more reference pictures, and estimates the motion vector indicating the block as the block motion vector.

변환 계수별 움직임 추정기(720)는 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고 출력한다. 즉, 변환 계수별 움직임 추정기(720)는 하나 이상의 참조 픽처에서 블록 움직임 추정기(710)로부터 출력되는 블록 움직임 벡터를 중심으로 현재 블록과 유사한 다른 블록들을 찾아 그 다른 블록들을 가리키는 움직임 벡터를 변환 계수별 움직임 벡터로서 추정한다.The motion estimator 720 for each transform coefficient estimates and outputs a motion vector for each transform coefficient of the current block by using the block motion vector. That is, the transform coefficient-specific motion estimator 720 searches for other blocks similar to the current block centering on the block motion vectors output from the block motion estimator 710 in one or more reference pictures, and converts motion vectors indicating the other blocks by the transform coefficients. Estimate as a motion vector.

즉, 본 발명의 제 1 실시예에서는 블록 및 변환 계수별 움직임 추정기(110)가 블록 움직임 벡터와 변환 계수별 움직임 벡터를 상호 간에 독립적으로 추정하였지만, 본 발명의 제 2 실시예에서는 블록 움직임 추정기(710)는 블록 움직임 벡터만을 추정하고, 변환 계수별 움직임 추정기(720)는 블록 움직임 벡터를 중심으로 일정한 영역에서 변환 계수별 움직임 벡터를 추정한다. 따라서, 변환 계수별 움직임 추정기(720)에 의해 추정되는 변환 계수별 움직임 벡터의 개수는 블록 움직임 벡터를 중심으로 추정되기 때문에, 본 발명의 제 1 실시예에 따른 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 변환 계수별 움직임 벡터의 개수보다 같거나 작을 수 있다.That is, in the first embodiment of the present invention, the block and transform coefficient motion estimator 110 independently estimates the block motion vector and the transform coefficient motion vector independently, but in the second embodiment of the present invention, the block motion estimator ( 710 estimates only the block motion vector, and the motion estimator 720 for each transform coefficient estimates the motion vector for each transform coefficient in a predetermined region around the block motion vector. Therefore, since the number of motion vectors for each transform coefficient estimated by the motion estimator for each transform coefficient is estimated based on the block motion vector, the motion estimator 110 for each block and transform coefficient according to the first embodiment of the present invention. It may be equal to or smaller than the number of motion vectors for each transform coefficient estimated by.

블록 움직임 추정기(710)에서 추정된 블록 움직임 벡터와 변환 계수별 움직임 벡터 추정기(720)에서 추정된 변환 계수별 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(112)로 출력되어 움직임 보상에 이용된다.The block motion vector estimated by the block motion estimator 710 and the motion vector for each transform coefficient estimated by the motion vector estimator 720 for each transform coefficient are output to the motion compensator 112 for each block and transform coefficient and used for motion compensation.

또한, 본 발명의 제 2 실시예에 따른 부호화기(730)는 제 1 실시예에 따른 부호화기(160)와는 달리, 블록 움직임 벡터와 변환 계수별 움직임 벡터를 모두 부 호화하는 것이 아니라, 블록 움직임 추정기(710)로부터 출력되는 블록 움직임 벡터만을 부호화한다. 따라서, 본 발명의 제 2 실시예에 따른 부호화기(730)는 블록 움직임 벡터와 결합 블록을 부호화하여 비트스트림을 생성하고 출력한다.Also, unlike the encoder 160 according to the first embodiment, the encoder 730 according to the second embodiment of the present invention does not encode both the block motion vector and the motion vector for each transform coefficient, but rather the block motion estimator ( Only block motion vectors output from 710 are encoded. Accordingly, the encoder 730 according to the second embodiment of the present invention generates and outputs a bitstream by encoding a block motion vector and a combined block.

즉, 부호화기(730)에서 변환 계수별 움직임 벡터를 제외하여 블록 움직임 벡터와 결합 블록만을 부호화하더라도 후술할 영상 복호화 장치에서 블록 움직임 벡터를 이용하여 변환 계수별 움직임 벡터를 추정할 수 있으므로, 블록 움직임 벡터만을 부호화하는 것이다. 부호화기(730)가 변환 계수별 움직임 벡터를 부호화하지 않아도 되므로, 본 발명의 제 2 실시예에 따라 부호화되어 최종적으로 출력되는 비트스트림의 비트량은 크게 줄어 들 수 있다.That is, even if the encoder 730 encodes only the block motion vector and the combined block excluding the motion vector for each transform coefficient, the motion vector for each transform coefficient may be estimated using the block motion vector in the image decoding apparatus to be described later. Is to encode only. Since the encoder 730 does not have to encode the motion vector for each transform coefficient, the bit amount of the bitstream encoded and finally output according to the second embodiment of the present invention can be greatly reduced.

도 8은 본 발명의 제 2 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.8 is a flowchart illustrating an image encoding method according to a second embodiment of the present invention.

영상 부호화 장치는 현재 블록의 블록 움직임 벡터를 추정하고(S810), 추정된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여(S820), 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성한다(S830).The image encoding apparatus estimates a block motion vector of the current block (S810), estimates a motion vector for each transform coefficient of the current block using the estimated block motion vector (S820), and predicts a block predicted using the block motion vector. And a reference block predicted using the motion vector for each transform coefficient (S830).

또한, 영상 부호화 장치는 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하고 현재 블록과 참조 블록을 감산한 차이 블록을 생성하여(S840), 잔여 블록 및 차이 블록을 변환하고(S850), 변환된 잔여 블록과 변환된 차이 블록을 양자화하며(S860), 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하며(S870), 결합 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력한다(S880).In addition, the apparatus for encoding an image generates a residual block obtained by subtracting the current block and the prediction block, generates a difference block obtained by subtracting the current block and the reference block (S840), converts the residual block and the difference block (S850), and converts the converted block. Quantize the residual block and the transformed difference block (S860), generate a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block (S870), and generate the combined block and the block motion vector. The bitstream is encoded and output (S880).

도 9는 본 발명의 제 2 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.9 is a block diagram schematically illustrating an image decoding apparatus according to a second embodiment of the present invention.

본 발명의 제 2 실시예에 따른 영상 복호화 장치(900)는 도 5를 통해 전술한 도 1을 통해 전술한 본 발명의 제 1 실시예에 따른 영상 복호화 장치의 모든 구성 요소를 포함할 뿐만 아니라, 변환 계수별 움직임 추정기(920)를 추가로 포함한다. 여기서, 블록 및 변환 계수별 움직임 보상기(520), 역 양자화기(530), 계수 보정기(540), 역 변환기(550), 가산기(560), 디블로킹 필터(570) 및 픽처 버퍼(580)는 도 5를 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.The image decoding apparatus 900 according to the second embodiment of the present invention not only includes all the components of the image decoding apparatus according to the first embodiment of the present invention described above with reference to FIG. A motion estimator 920 for each transform coefficient is further included. Here, the motion compensator 520, the inverse quantizer 530, the coefficient corrector 540, the inverse transformer 550, the adder 560, the deblocking filter 570, and the picture buffer 580 for each block and transform coefficient are Since the same or similar functions as described above are performed through FIG. 5, a detailed description thereof will be omitted.

복호화기(910)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 결합 블록을 복원한다. 즉, 본 발명의 제 2 실시예에 따른 비트스트림에는 부호화된 결합 블록과 부호화된 블록 움직임 벡터만을 포함하고 있으므로, 복호화기(910)는 비트스트림을 복호화하여 블록 움직임 벡터와 결합 블록을 복원한다.The decoder 910 decodes the bitstream to reconstruct the block motion vector and the combined block of the current block. That is, since the bitstream according to the second embodiment of the present invention includes only the encoded combined block and the encoded block motion vector, the decoder 910 decodes the bitstream to reconstruct the block motion vector and the combined block.

복호화기(910)에서 복원된 블록 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)뿐만 아니라 변환 계수별 움직임 추정기(920)로 입력되고, 변환 계수별 움직임 추정기(920)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여 출력한다. 즉, 변환 계수별 움직임 추정기(920)는 도 7을 통해 전술한 변환 계수별 움직임 추정기(720)와 동일한 방식으로 복원된 블록 움직임 벡터를 중심으로 변환 계수별 움직임 벡터를 추정한다.The block motion vector reconstructed by the decoder 910 is input to the motion estimator 920 for each transform coefficient, as well as the motion compensator 520 for each block and transform coefficient, and the motion estimator 920 for each transform coefficient is restored. Estimate and output the motion vector for each transform coefficient of the current block using. That is, the motion estimator 920 for each transform coefficient estimates the motion vector for each transform coefficient based on the block motion vector reconstructed in the same manner as the motion estimator 720 for each transform coefficient described above with reference to FIG. 7.

이와 같이, 추정된 변환 계수별 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)로 입력되고, 블록 및 변환 계수별 움직임 보상기(520)는 복원된 블록 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록과 참조 블록을 생성한다.In this way, the estimated motion vector for each transform coefficient is input to the motion compensator 520 for each block and transform coefficient, and the motion compensator for each block and transform coefficients 520 converts the reconstructed block motion vector and the motion vector for each transform coefficient. The prediction block and the reference block are generated by predicting the current block.

도 10은 본 발명의 제 2 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.10 is a flowchart illustrating a video decoding method according to a second embodiment of the present invention.

본 발명의 제 2 실시예에 따른 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 결합 블록을 복원하고(S1010), 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하며(S1020), 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 생성한다(S1030).The image decoding apparatus according to the second embodiment of the present invention decodes the bitstream to reconstruct the block motion vector and the combined block of the current block (S1010), and uses the reconstructed block motion vector to obtain the motion vector for each transform coefficient of the current block. In operation S1020, a prediction block is generated by predicting the current block using the reconstructed block motion vector, and a reference block is generated by predicting the current block using the motion vector for each transform coefficient.

또한, 영상 복호화 장치는 복원된 결합 블록을 역 양자화하고(S1040), 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 추정된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하며(S1050), 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하며(S1060), 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한다(S1070).In addition, the apparatus for decoding an image inversely quantizes the reconstructed combined block (S1040), and estimates a transform coefficient generated by predicting a motion vector for each transform coefficient of the transform coefficients of the dequantized combined block using the prediction block and the reference block. Correction is performed by the transform coefficients for the reconstructed block motion vector (S1050), inversely transforming the corrected combined block to reconstruct the residual block (S1060), and add the prediction block and the reconstructed residual block to reconstruct the current block (S1070). ).

이상에서는 도 7 내지 도 10을 통해, 본 발명의 제 1 실시예에 따라 블록 움직임 벡터를 추정하고, 블록 움직임 벡터를 이용하여 변환 계수별 움직임 벡터를 추정한 후, 블록 움직임 벡터를 부호화하여 비트스트림을 생성하는 것에 대해 설명했다. 이 경우, 변환 계수별 움직임 벡터를 이용하여 부호화하면서도 변환 계수별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있지만, 변환 계수별 움직임 벡터가 블록 움직임 벡터를 중심으로 추정되기 때문에, 추정되는 변환 계수별 움직임 벡터의 개수가 적어져서 변환 계수별로 더욱 많은 개수의 움직임 벡터를 찾을 수가 없어서, 생성되는 결합 블록을 부호화하는 효율이 저할될 가능성이 있다. 이하에서는 본 발명의 제 3 실시예를 통해 변환 계수별 움직임 벡터를 블록 움직임 벡터와 독립적으로 추정하여 많은 개수의 변환 계수별 움직임 벡터를 이용하여 부호화하면서도 변환 계수별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있는 방식에 대해 설명한다.In the above description, through FIG. 7 to FIG. 10, the block motion vector is estimated according to the first embodiment of the present invention, the motion vector for each transform coefficient is estimated using the block motion vector, and the block motion vector is encoded. I explained about creating it. In this case, the amount of bits required to encode the motion vector for each transform coefficient can be reduced while encoding using the motion vector for each transform coefficient. However, since the motion vector for each transform coefficient is estimated based on the block motion vector, the estimated transform is estimated. Since the number of motion vectors for each coefficient decreases, a larger number of motion vectors cannot be found for each transform coefficient, which may reduce the efficiency of encoding the generated combined block. Hereinafter, according to the third embodiment of the present invention, a bit required for encoding a motion vector for each transform coefficient while estimating a motion vector for each transform coefficient independently from a block motion vector is encoded using a large number of motion vectors for each transform coefficient. Describe how you can reduce the volume.

도 11은 본 발명의 제 3 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.11 is a block diagram schematically illustrating a video encoding apparatus according to a third embodiment of the present invention.

본 발명의 제 3 실시예에 따른 영상 부호화 장치는 도 1을 통해 전술한 본 발명의 제 1 실시예에 따른 영상 부호화 장치의 모든 구성 요소를 포함할 뿐만 아니라, 변환 계수별 움직임 추정기(1110)를 추가로 포함한다. 여기서, 블록 및 변환 계수별 움직임 추정기(110), 블록 및 변환 계수별 움직임 보상기(112), 감산기(120), 변환기(130), 양자화기(140), 계수 결합기(150), 역 양자화기(170), 계수 보정기(180), 역 변환기(190), 가산기(192), 디블로킹 필터(194) 및 픽처 버퍼(196)는 도 1을 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.The image encoding apparatus according to the third embodiment of the present invention includes not only all the components of the image encoding apparatus according to the first embodiment of the present invention described above with reference to FIG. 1, but also the motion estimator 1110 for each transform coefficient. Additionally included. Here, the motion estimator 110 for each block and transform coefficient, the motion compensator 112 for each block and transform coefficient, the subtractor 120, the transformer 130, the quantizer 140, the coefficient combiner 150, and the inverse quantizer ( 170, the coefficient corrector 180, the inverse converter 190, the adder 192, the deblocking filter 194 and the picture buffer 196 perform the same or similar functions as described above with reference to FIG. 1. Omit.

변환 계수별 움직임 추정기(1110)는 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고, 블록 및 개별 움직임 추정기에 의해 추정된 변환 계수별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와는 다른 움직임 벡터만을 출력한다. 즉, 변환 계수별 움직임 추정기(1110)는 블록 및 변환 계수별 움직임 추정기(110)에서 변환 계수별 움직임 벡터를 추정하였지만, 그와는 별개로 하나 이상의 참조 픽처에서 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 블록 움직임 벡터를 중심으로 현재 블록과 유사한 블록을 찾아 그 블록을 가리키는 움직임 벡터를 변환 계수별 움직임 벡터로서 추정한다. 또한, 변환 계수별 움직임 추정기(1110)는 블록 및 변환 계수별 움직임 추정기(110)에서 추정된 변환 계수별 움직임 벡터와 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터를 비교하여 서로 동일한 움직임 벡터들은 제외하고 서로 상이한 움직임 벡터들 즉, 다른 움직임 벡터만을 출력한다.The motion estimator 1110 for each transform coefficient estimates a motion vector for each transform coefficient of the current block by using a block motion vector, and estimates the block motion vector from the motion vectors for each transform coefficient estimated by a block and an individual motion estimator. Only motion vectors different from the motion vectors for each transform coefficient are output. That is, although the motion estimator 1110 for each transform coefficient estimates the motion vector for each transform coefficient in the motion estimator 110 for each block and transform coefficient, the motion estimator 110 for each block and transform coefficient in one or more reference pictures is different from that. A block similar to the current block is found based on the block motion vector estimated by s), and a motion vector pointing to the block is estimated as a motion vector for each transform coefficient. Also, the motion estimator 1110 for each transform coefficient compares the motion vector for each transform coefficient estimated by the block and transform coefficient motion estimator 110 and the motion vector for each transform coefficient estimated using the block motion vector. Except for this, only different motion vectors, that is, different motion vectors are output.

이후, 블록 및 변환 계수별 움직임 보상기(112)에서 예측 블록과 참조 블록을 생성할 때에는 블록 및 변환 계수별 움직임 추정기(110)에서 추정한 블록 움직임 벡터와 변환 계수별 움직임 벡터를 이용하여 보상하지만, 부호화기(1120)는 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 블록 움직임 벡터와 변환 계수별 움직임 추정기(1110)에 의해 추정되고 비교되어 출력된 다른 움직임 벡터를 결합 블록과 함께 부호화하여 비트스트림을 출력한다.Subsequently, when generating the prediction block and the reference block by the motion compensator 112 for each block and transform coefficient, the block motion vector estimated by the motion estimator 110 for each block and transform coefficient and the motion vector for each transform coefficient are compensated. The encoder 1120 encodes a block motion vector estimated by the block and transform coefficient motion estimator 110 and other motion vectors estimated and compared and output by the transform coefficient motion estimator 1110 together with the combined block, thereby bit. Output the stream.

즉, 부호화기(1120)에서 블록 움직임 벡터와 다른 움직임 벡터를 결합 블록과 함께 부호화하더라도, 후술할 영상 복호화 장치에서 블록 움직임 벡터를 이용하 여 변환 계수별 움직임 벡터를 추정할 수 있고 그 추정된 변환 계수별 움직임 벡터와 비트스트림으로부터 복원되는 다른 움직임 벡터를 이용하여 블록 및 변환 계수별 움직임 추정기(110)에서 추정한 변환 계수별 움직임 벡터를 모두 복원할 수 있으므로, 블록 움직임 벡터와 다른 움직임 벡터만을 부호화하는 것이다. 이를 통해, 블록 및 변환 계수별 움직임 추정기(110)에서 추정된 많은 개수의 변환 계수별 움직임 벡터를 이용하여 부호화하면서도 해당 움직임 벡터를 영상 복호화 장치에게 알리기 위해서, 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 상이한 움직임 벡터를 부호화한 정보만을 전송하면 되므로, 비트스트림의 비트량을 더욱 줄일 수 있어 압축 효율을 향상시킬 수 있다.That is, even if the encoder 1120 encodes a motion vector different from the block motion vector together with the combined block, the video decoding apparatus to be described later may estimate the motion vector for each transform coefficient by using the block motion vector, and for each estimated transform coefficient. Since the motion vector for each transform coefficient estimated by the block and transform coefficient motion estimator 110 can be reconstructed using the motion vector and another motion vector reconstructed from the bitstream, only the block motion vector and the other motion vector are encoded. . In this way, the transform coefficient estimated using the block motion vector to inform the image decoding apparatus of the motion vector while encoding using a large number of motion vectors for each transform coefficient estimated by the motion estimator 110 for each block and the transform coefficient. Since only information encoding a motion vector different from each motion vector needs to be transmitted, the bit amount of the bitstream can be further reduced, thereby improving compression efficiency.

도 12는 본 발명의 제 3 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.12 is a flowchart illustrating a video encoding method according to a third embodiment of the present invention.

본 발명의 제 3 실시예에 따른 영상 부호화 장치는 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하고(S1210), 단계 S1210에서 추정된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고, 단계 S1210에서 추정된 변환 계수별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 다른 움직임 벡터를 추출하며(S1220), 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 단계 S1210에서 추정된 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성한다(S1230).The image encoding apparatus according to the third embodiment of the present invention estimates a block motion vector and a motion vector for each transform coefficient of the current block (S1210), and uses the block motion vector estimated in step S1210 to perform motion for each transform coefficient of the current block. Estimating the vector, extracting a motion vector different from the motion vector for each transform coefficient estimated using the block motion vector, from the motion vector for each transform coefficient estimated in step S1210 (S1220), and predicting a block predicted using the block motion vector. In operation S1230, a reference block predicted is generated using the motion vector for each transform coefficient estimated in step S1210.

또한, 영상 부호화 장치는 현재 블록과 예측 블록을 감산한 잔여 블록 및 현재 블록과 참조 블록을 감산한 차이 블록을 생성하고(S1240), 잔여 블록 및 차이 블록을 변환하며(S1250), 변환된 잔여 블록과 변환된 차이 블록을 양자화하며(S1260), 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하며(S1270), 결합 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력한다(S1280).In addition, the apparatus for encoding an image generates a residual block obtained by subtracting the current block and a prediction block and a difference block obtained by subtracting the current block and a reference block (S1240), converts the residual block and the difference block (S1250), and converts the converted residual block. And quantize the transformed difference block (S1260), generate a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block (S1270), and combine blocks, block motion vectors, and other motions. The vector is encoded to output a bitstream (S1280).

도 13은 본 발명의 제 3 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.13 is a block diagram schematically illustrating an image decoding apparatus according to a third embodiment of the present invention.

본 발명의 제 3 실시예에 따른 영상 복호화 장치는 도 9를 통해 전술한 본 발명의 제 2 실시예에 따른 영상 복호화 장치의 모든 구성 요소를 포함한다. 여기서, 블록 및 변환 계수별 움직임 보상기(520), 역 양자화기(530), 계수 보정기(540), 역 변환기(550), 가산기(560), 디블로킹 필터(570) 및 픽처 버퍼(580)는 도 5를 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.The image decoding apparatus according to the third embodiment of the present invention includes all the components of the image decoding apparatus according to the second embodiment of the present invention described above with reference to FIG. 9. Here, the motion compensator 520, the inverse quantizer 530, the coefficient corrector 540, the inverse transformer 550, the adder 560, the deblocking filter 570, and the picture buffer 580 for each block and transform coefficient are Since the same or similar functions as described above are performed through FIG. 5, a detailed description thereof will be omitted.

복호화기(1310)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 결합 블록을 복원한다. 여기서, 복원된 결합 블록은 역 양자화기(530)로 출력되고, 복원된 블록 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)와 변환 계수별 움직임 추정기(1320)로 출력되며, 복원된 다른 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)로 출력된다.The decoder 1310 decodes the bitstream to reconstruct a block motion vector, another motion vector, and a combined block of the current block. Here, the reconstructed combined block is output to the inverse quantizer 530, and the reconstructed block motion vector is output to the motion compensator 520 for each block and transform coefficient and the motion estimator 1320 for each transform coefficient, and the other reconstructed motion. The vector is output to the motion compensator 520 for each block and transform coefficient.

변환 계수별 움직임 추정기(1320)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여 출력한다.The motion estimator 1320 for each transform coefficient estimates and outputs a motion vector for each transform coefficient of the current block by using the reconstructed block motion vector.

블록 및 변환 계수별 움직임 보상기(1330)는 복원된 블록 움직임 벡터를 이 용하여 현재 블록을 예측하여 예측 블록을 출력하고 복호화기(1310)에의해 복원된 다른 움직임 벡터와 변환 계수별 움직임 추정기(1320)에 의해 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력한다.The motion compensator 1330 for each block and transform coefficient predicts a current block by using the reconstructed block motion vector, outputs a prediction block, and the other motion vector reconstructed by the decoder 1310 and the motion estimator for each transform coefficient 1320. The reference block is output by predicting the current block by using the motion vector for each transform coefficient estimated by.

도 14는 본 발명의 제 3 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.14 is a flowchart illustrating a video decoding method according to a third embodiment of the present invention.

본 발명의 제 3 실시예에 따른 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 결합 블록을 복원하고(S1410), 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하며(S1420), 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고 단계 S1410에서 복원된 다른 움직임 벡터와 단계 S1420에서 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 생성한다(S1430).The image decoding apparatus according to the third embodiment of the present invention decodes the bitstream to reconstruct a block motion vector, another motion vector, and a combined block of the current block (S1410), and converts the current block using the reconstructed block motion vector. A motion vector for each coefficient is estimated (S1420), a prediction block is generated by predicting a current block using the reconstructed block motion vector, and another motion vector reconstructed in step S1410 and a motion vector for each transform coefficient estimated in step S1420 are used. In operation S1430, a reference block is generated by predicting the current block.

또한, 영상 복호화 장치는 복원된 결합 블록을 역 양자화하고(S1440), 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 단계 S1420에서 추정된 변환 계수별 움직임 벡터와 단계 S1410에서 복원된 다른 움직임 벡터로 예측되어 생성된 변환 계수를 단계 S1410에서 복원된 블록 움직임 벡터에 대한 변환 계수로 보정한다(S1450).In addition, the apparatus for decoding an image inversely quantizes the reconstructed combined block (S1440), and reconstructs the motion vector for each transform coefficient estimated in step S1420 among the transform coefficients of the dequantized combined block using the prediction block and the reference block in step S1410. The transform coefficient predicted and generated by the other motion vector is corrected to the transform coefficient for the block motion vector reconstructed in step S1410 (S1450).

또한, 영상 복호화 장치는 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하고(S1460), 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한다(S1470).In addition, the image decoding apparatus inversely transforms the corrected combined block to reconstruct the residual block (S1460), and adds the prediction block and the reconstructed residual block to reconstruct the current block (S1470).

이상에서는 도 1 내지 도 14를 통해 블록 움직임 벡터뿐만 아니라 변환 계수별 움직임 벡터를 이용하여 부호화하는 방식에 대해 설명하였다. 이하에서는 본 발명의 제 4 실시예 내지 제 6 실시예를 통해, 변환 계수별 움직임 벡터가 아니라 화소별 움직임 벡터를 이용하여 부호화하는 방식에 대해 설명한다.In the above, a method of encoding using not only a block motion vector but also a motion vector for each transform coefficient has been described with reference to FIGS. 1 to 14. Hereinafter, a method of encoding using a motion vector for each pixel rather than a motion vector for each transform coefficient will be described through the fourth to sixth embodiments of the present invention.

도 15는 본 발명의 제 4 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.15 is a block diagram schematically illustrating a video encoding apparatus according to a fourth embodiment of the present invention.

본 발명의 제 4 실시예에 따른 영상 부호화 장치는 블록 및 화소별 움직임 추정기(Block & Pixel Motion Estimator, 1510), 블록 및 화소별 움직임 보상기(Block & Pixel Motion Compensator, 1520), 감산기(1530), 변환기(1540), 양자화기(1550), 부호화기(1560), 역 양자화기(1570), 역 변환기(1580), 가산기(1590), 디블로킹 필터(1592) 및 픽처 버퍼(1594)를 포함하여 구성될 수 있다.An image encoding apparatus according to a fourth embodiment of the present invention includes a block and pixel motion estimator (1510), a block and pixel motion compensator (1520), a subtractor 1530, Comprising a transformer 1540, a quantizer 1550, an encoder 1560, an inverse quantizer 1570, an inverse transformer 1580, an adder 1590, a deblocking filter 1592, and a picture buffer 1594. Can be.

블록 및 화소별 움직임 추정기(1510)는 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정한다. 즉, 블록 및 화소별 움직임 추정기(1510)는 하나 이상의 참조 픽처에서 현재 블록과 가장 유사한 블록을 찾아 그를 가리키는 움직임 벡터를 블록 움직임 벡터로서 추정하고, 하나 이상의 참조 픽처에서 현재 블록 내의 각 화소별로 가장 유사한 블록을 찾아 그를 가리키는 움직임 벡터를 화소별 움직임 벡터로서 추정한다.The block and pixel motion estimator 1510 estimates a block motion vector and a pixel-by-pixel motion vector of the current block. That is, the block and pixel-specific motion estimator 1510 finds the block most similar to the current block in one or more reference pictures and estimates the motion vector pointing to the block as the block motion vector, and most similarly for each pixel in the current block in the one or more reference pictures. The motion vector pointing to the block is found and estimated as the pixel-by-pixel motion vector.

여기서, 현재 블록의 블록 움직임 벡터는 참조 픽처에서 현재 블록과 가장 유사한 블록을 가리키는 움직임 벡터를 말하며, 현재 블록의 화소별 움직임 벡터란 해당 움직임 벡터로 움직임 보상하여 예측한 화소값과 현재 블록의 원 화소값과의 차이값을 변환하고 양자화한 변환 계수로 부호화했을 때 부호화 성능이 최대가 되는 움직임 벡터를 말한다. 또한, 블록 움직임 벡터는 현재 블록에 대해 하나의 움직임 벡터가 추정되지만, 화소별 움직임 벡터는 현재 블록에 대해 복수 개의 움직임 벡터가 추정될 수 있는데, 현재 블록의 화소의 개수만큼 또는 그 개수 이하의 움직임 벡터가 추정될 수 있다.Here, the block motion vector of the current block refers to a motion vector indicating a block most similar to the current block in the reference picture. The motion vector for each pixel of the current block is a pixel value predicted by motion compensation with the corresponding motion vector and the original pixel of the current block. A motion vector whose coding performance is maximized when the difference from the value is converted and encoded by the quantized transform coefficient. In addition, although one motion vector is estimated for the current block in the block motion vector, a plurality of motion vectors may be estimated for the current block in the pixel-by-pixel motion vector, which is equal to or less than the number of pixels in the current block. The vector can be estimated.

블록 및 화소별 움직임 보상기(1520)는 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하여 출력한다. 여기서, 블록 및 화소별 움직임 보상기(1520)는 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 중에서 비트스트림의 비트량을 최소화하는 화소를 선택적으로 결합하여 예측 블록을 생성할 수 있다. 즉, 블록 및 화소별 움직임 보상기(1520)는 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 중에서 선택적으로 결합하여 예측 블록을 생성하고 변환 및 양자화한 후 부호화했을 때 최종적인 비트스트림의 비트량이 최소화될 수 있는 화소들을 선택하여 예측 블록을 생성할 수 있다.The block and pixel motion compensator 1520 generates and outputs a prediction block using pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector. Here, the block and pixel motion compensator 1520 selectively selects a pixel that minimizes the bit amount of the bitstream among the pixels of the reference block predicted using the block motion vector and the pixels of the reference block predicted using the pixel-by-pixel motion vector. Can be combined to generate prediction blocks. That is, the block and pixel-by-pixel motion compensator 1520 selectively generates a prediction block by selectively combining pixels of the reference block predicted using the block motion vector and pixels of the reference block predicted using the pixel-by-pixel motion vector. When the quantization is performed after encoding, the prediction block may be generated by selecting pixels in which the bit amount of the final bitstream may be minimized.

감산기(1530)는 현재 블록과 예측 블록을 감산한 잔여 블록을 출력한다. 변환기(1540)는 잔여 블록을 변환한다. 양자화기(1550)는 변환된 잔여 블록을 양자화한다. 부호화기(1560)는 양자화된 잔여 블록, 블록 움직임 벡터 및 화소별 움직임 벡터를 부호화하여 비트스트림을 출력한다. 역 양자화기(1570)는 양자화된 잔여 블 록을 역 양자화한다. 역 변환기(1580)는 역 양자화된 잔여 블록을 역 변환한다. 가산기(1590)는 역 변환된 잔여 블록과 블록 및 화소별 움직임 보상기(1520)로부터 출력된 예측 블록을 가산하여 현재 블록을 복원한다. 변환, 양자화, 부호화, 역 양자화, 역 변환에 대해서는 제 1 실시예 내지 제 3 실시예를 통해 전술한 내용과 동일 또는 유사하므로 그에 대한 상세한 설명은 생략한다.The subtractor 1530 outputs a residual block obtained by subtracting the current block and the prediction block. The converter 1540 transforms the residual block. Quantizer 1550 quantizes the transformed residual block. The encoder 1560 encodes the quantized residual block, the block motion vector, and the pixel-by-pixel motion vector, and outputs a bitstream. Inverse quantizer 1570 inverse quantizes the residual quantized block. Inverse transformer 1580 inversely transforms the inverse quantized residual block. The adder 1590 reconstructs the current block by adding the inverse transformed residual block and the prediction block output from the block and pixel-specific motion compensator 1520. The transformation, quantization, encoding, inverse quantization, and inverse transformation are the same as or similar to those described above through the first to third embodiments, and thus a detailed description thereof will be omitted.

또한, 디블로킹 필터(1592) 및 픽처 버퍼(1594)는 본 발명의 제 4 실시예에 따른 영상 부호화 장치에 반드시 포함되지 않고 선택적으로 포함될 수 있으며, 그 내용에 대해서도 제 1 실시예 내지 제 3 실시예를 통해 전술한 내용과 동일 또는 유사하므로 그에 대한 상세한 설명은 생략한다.In addition, the deblocking filter 1592 and the picture buffer 1594 may not be necessarily included in the video encoding apparatus according to the fourth embodiment of the present invention, but may be selectively included. For example, the description is the same as or similar to that described above, and thus a detailed description thereof will be omitted.

도 16은 본 발명의 제 4 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.16 is a flowchart illustrating a video encoding method according to a fourth embodiment of the present invention.

본 발명의 제 4 실시예에 따른 영상 부호화 장치는 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하고(S1610), 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하며(S1620), 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하여(S1630), 잔여 블록을 변환하고(S1640), 변환된 잔여 블록을 양자화한 후(S1650), 양자화된 잔여 블록, 블록 움직임 벡터 및 화소별 움직임 벡터를 부호화하여 비트스트림을 출력한다(S1660).The image encoding apparatus according to the fourth embodiment of the present invention estimates a block motion vector and a pixel-by-pixel motion vector of the current block (S1610), and uses the pixel and pixel-by-pixel motion vector of the reference block predicted using the block motion vector. The prediction block is generated using the pixels of the predicted reference block (S1620), the residual block obtained by subtracting the current block and the prediction block is generated (S1630), the residual block is converted (S1640), and the converted residual block is generated. After quantization (S1650), the quantized residual block, block motion vector, and pixel-by-pixel motion vector are encoded to output a bitstream (S1660).

도 17은 본 발명의 제 4 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.17 is a block diagram schematically illustrating an image decoding apparatus according to a fourth embodiment of the present invention.

본 발명의 제 4 실시예에 따른 영상 복호화 장치는 복호화기(1710), 블록 및 화소별 움직임 보상기(1720), 역 양자화기(1730), 역 변환기(1740), 가산기(1750), 디블로킹 필터(1760) 및 픽처 버퍼(1770)를 포함하여 구성될 수 있다. 여기서, 디블로킹 필터(1760) 및 픽처 버퍼(1770)는 반드시 포함되지 않고 선택적으로 포함될 수 있다.The image decoding apparatus according to the fourth embodiment of the present invention includes a decoder 1710, a motion compensator 1720 for each block and pixel, an inverse quantizer 1730, an inverse converter 1740, an adder 1750, and a deblocking filter. 1760 and picture buffer 1770. Here, the deblocking filter 1760 and the picture buffer 1770 are not necessarily included but may be selectively included.

복호화기(1710)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원한다.The decoder 1710 decodes the bitstream to reconstruct the block motion vector, the pixel-by-pixel motion vector, and the residual block of the current block.

블록 및 화소별 움직임 보상기(1720)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.The block and pixel-by-pixel motion compensator 1720 is configured to predict the current block using the reconstructed block motion vector and the pixel of the reference block generated by predicting the current block using the reconstructed pixel-by-pixel motion vector. Generate and output the prediction block using.

역 양자화기(1730)는 복원된 잔여 블록을 역 양자화한다. 역 변환기(1740)는 역 양자화된 잔여 블록을 역 변환한다. 가산기(1750)는 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원한다.Inverse quantizer 1730 dequantizes the reconstructed residual block. Inverse transformer 1740 inversely transforms the inverse quantized residual block. The adder 1750 reconstructs the current block by adding the prediction block and the inverse transformed residual block.

도 18은 본 발명의 제 4 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.18 is a flowchart illustrating an image decoding method according to a fourth embodiment of the present invention.

본 발명의 제 4 실시예에 따른 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원하고(S1810), 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하며(S1820), 복원된 잔여 블록을 역 양자화하고(S1830), 역 양자화된 잔여 블록을 역 변환하며(S1840), 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원한다(S1850).The image decoding apparatus according to the fourth embodiment of the present invention decodes the bitstream to restore a block motion vector, a pixel-specific motion vector, and a residual block of the current block (S1810), and uses the reconstructed block motion vector to recover the current block. A prediction block is generated using pixels of the reference block generated by predicting the current block using the pixels of the predicted generated reference block and the reconstructed pixel-specific motion vector (S1820), and inversely quantized the reconstructed residual block (S1820); In operation S1830, the inverse quantized residual block is inversely transformed (S1840), and the current block is restored by adding the prediction block and the inversely transformed residual block (S1850).

이상에서는 본 발명의 제 4 실시예를 통해 블록 움직임 벡터 및 화소별 움직임 벡터를 함께 추정하고 모두 부호화하여 비트스트림을 생성하는 것에 대해 설명했다. 이 경우, 화소별 움직임 벡터의 개수가 많아지면, 화소별 움직임 벡터를 부호화하는 데 소요되는 비트량이 증가하여 압축 효율이 저하될 수 있다. 이하에서는 본 발명의 제 5 실시예를 통해 화소별 움직임 벡터를 이용하여 부호화하면서도 화소별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있는 방식에 대해 설명한다.In the above, the fourth embodiment of the present invention has been described in which a bitstream is generated by estimating a block motion vector and a motion vector for each pixel together and encoding all of them. In this case, when the number of motion vectors for each pixel increases, the amount of bits required to encode the pixel-by-pixel motion vectors increases, thereby reducing the compression efficiency. Hereinafter, a method of reducing the amount of bits required to encode a pixel-by-pixel motion vector while encoding using a pixel-by-pixel motion vector will be described in accordance with a fifth embodiment of the present invention.

도 19는 본 발명의 제 5 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.19 is a block diagram schematically illustrating a video encoding apparatus according to a fifth embodiment of the present invention.

본 발명의 제 5 실시예에 따른 영상 부호화 장치는 도 15를 통해 전술한 본 발명의 제 4 실시예에 따른 영상 부호화 장치의 구성 요소 중 블록 및 화소별 움직임 추정기(1510)을 제외한 모든 구성 요소를 포함할 뿐만 아니라, 블록 움직임 추정기(1910)와 화소별 움직임 추정기(1920)를 추가로 포함한다. 여기서, 블록 및 화소별 움직임 보상기(1520), 감산기(1530), 변환기(1540), 양자화기(1550), 역 양자화기(1570), 역 변환기(1580), 가산기(1590), 디블로킹 필터(1592) 및 픽처 버퍼(1594)는 도 15를 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.The image encoding apparatus according to the fifth embodiment of the present invention removes all components except for the block and pixel motion estimator 1510 among the components of the image encoding apparatus according to the fourth embodiment described above with reference to FIG. 15. In addition to the above, the apparatus further includes a block motion estimator 1910 and a pixel-by-pixel motion estimator 1920. Here, a block and pixel-specific motion compensator 1520, a subtractor 1530, a converter 1540, a quantizer 1550, an inverse quantizer 1570, an inverse converter 1580, an adder 1590, and a deblocking filter ( 1592 and the picture buffer 1594 perform the same or similar functions as described above with reference to FIG. 15, and thus a detailed description thereof will be omitted.

블록 움직임 추정기(1510)는 현재 블록의 블록 움직임 벡터를 추정하여 출력한다. 추정된 블록 움직임 벡터는 화소별 움직임 벡터 추정기(1920), 블록 및 화소별 움직임 보상기(1520) 및 부호화기(1930)로 출력된다.The block motion estimator 1510 estimates and outputs a block motion vector of the current block. The estimated block motion vector is output to the pixel-by-pixel motion vector estimator 1920, the block and pixel-by-pixel motion compensator 1520, and the encoder 1930.

화소별 움직임 추정기(1520)는 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고 출력한다. 추정된 화소별 움직임 벡터는 블록 및 화소별 움직임 보상기(1520)로 출력되며, 블록 및 화소별 움직임 보상기(1530)는 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.The pixel-by-pixel motion estimator 1520 estimates and outputs the pixel-by-pixel motion vector of the current block by using the block motion vector. The estimated pixel-by-pixel motion vector is output to the block and pixel-by-pixel motion compensator 1520, and the block and pixel-by-pixel motion compensator 1530 uses the pixel and pixel-by-pixel motion vectors of the reference block predicted using the block motion vector. A prediction block is generated and output using the pixels of the predicted reference block.

부호화기(1930)는 화소별 움직임 벡터는 부호화하지 않고, 블록 움직임 추정기(1910)로부터 출력되는 블록 움직임 벡터와 양자화기(1550)에 의해 양자화된 잔여 블록을 부호화하여 비트스트림을 출력한다.The encoder 1930 does not encode a motion vector for each pixel, but encodes a block motion vector output from the block motion estimator 1910 and a residual block quantized by the quantizer 1550 and outputs a bitstream.

도 20은 본 발명의 제 5 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.20 is a flowchart illustrating an image encoding method according to a fifth embodiment of the present invention.

본 발명의 제 5 실시예에 따른 영상 부호화 장치는 현재 블록의 블록 움직임 벡터를 추정하고(S2010), 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하며(S2020), 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성한다(S2030).The image encoding apparatus according to the fifth embodiment of the present invention estimates a block motion vector of the current block (S2010), estimates a motion vector for each pixel of the current block using the block motion vector (S2020), and calculates a block motion vector. A prediction block is generated using the pixels of the reference block predicted using the pixels of the reference block predicted by using the pixels and the motion vector for each pixel (S2030).

또한, 영상 부호화 장치는 현재 블록과 예측 블록을 감산한 잔여 블록을 생성하여(S2040), 잔여 블록을 변환하고(S2050), 변환된 잔여 블록을 양자화한 후(S2060), 양자화된 잔여 블록 및 블록 움직임 벡터를 부호화하여 비트스트림을 출력한다(S2070).In addition, the apparatus for encoding an image generates a residual block obtained by subtracting a current block and a prediction block (S2040), transforms the residual block (S2050), and quantizes the transformed residual block (S2060), and then quantizes the residual block and the block. The motion vector is encoded and a bitstream is output (S2070).

도 21은 본 발명의 제 5 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.21 is a block diagram schematically illustrating an image decoding apparatus according to a fifth embodiment of the present invention.

본 발명의 제 5 실시예에 따른 영상 복호화 장치는 도 17을 통해 전술한 본 발명의 제 4 실시예에 따른 영상 복호화 장치의 모든 구성 요소를 포함할 뿐만 아니라, 화소별 움직임 추정기(2120)를 추가로 포함한다. 여기서, 블록 및 화소별 움직임 보상기(1720), 역 양자화기(1730), 역 변환기(1740), 가산기(1750), 디블로킹 필터(1760) 및 픽처 버퍼(1770)는 도 17을 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.The image decoding apparatus according to the fifth embodiment of the present invention not only includes all the components of the image decoding apparatus according to the fourth embodiment of the present invention described above with reference to FIG. 17, but also adds a motion estimation unit 2120 for each pixel. It includes. Here, the block and pixel-specific motion compensator 1720, the inverse quantizer 1730, the inverse converter 1740, the adder 1750, the deblocking filter 1760, and the picture buffer 1770 are the same as described above with reference to FIG. 17. Since the same or similar functions are performed, a detailed description thereof will be omitted.

복호화기(2110)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 잔여 블록을 복원한다. 이와 같이 복원된 블록 움직임 벡터는 화소별 움직임 추정기(2120)와 블록 및 화소별 움직임 보상기(1720)로 출력되고, 복원된 잔여 블록은 역 양자화기(1730)로 출력된다.The decoder 2110 decodes the bitstream to reconstruct the block motion vector and the residual block of the current block. The reconstructed block motion vector is output to the pixel-by-pixel motion estimator 2120 and the block and pixel-by-pixel motion compensator 1720, and the reconstructed residual block is output to the inverse quantizer 1730.

화소별 움직임 추정기(2120)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하여 출력한다. 이와 같이 추정된 화소별 움직임 벡터는 블록 및 화소별 움직임 보상기(1720)로 출력되고, 블록 및 화소별 움직임 보상기(1720)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.The per-pixel motion estimator 2120 estimates and outputs the per-pixel motion vector of the current block by using the reconstructed block motion vector. The estimated pixel-by-pixel motion vector is output to the block and pixel-by-pixel motion compensator 1720, and the block and pixel-by-pixel motion compensator 1720 uses the reconstructed block motion vector to predict the current block. A prediction block is generated and output using pixels of a reference block generated by predicting a current block using a pixel and a motion vector for each estimated transform coefficient.

도 22는 본 발명의 제 5 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.22 is a flowchart for explaining a video decoding method according to a fifth embodiment of the present invention.

본 발명의 제 5 실시예에 따른 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 잔여 블록을 복원하고(S2210), 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하며(S2220), 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 추정된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성한다(S2230).The image decoding apparatus according to the fifth embodiment of the present invention decodes the bitstream to reconstruct the block motion vector and the residual block of the current block (S2210), and uses the reconstructed block motion vector to determine the motion vector for each pixel of the current block. In operation S2220, the pixel of the reference block generated by predicting the current block using the reconstructed block motion vector and the pixel of the reference block generated by predicting the current block using the estimated motion pixel for each pixel are predicted. A block is generated (S2230).

또한, 영상 복호화 장치는 복원된 잔여 블록을 역 양자화하고(S2240), 역 양자화된 잔여 블록을 역 변환한 후(S2250), 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원한다(S2260).In addition, the image decoding apparatus inversely quantizes the reconstructed residual block (S2240), inversely transforms the inverse quantized residual block (S2250), and then adds the prediction block and the inversely transformed residual block to restore the current block (S2260). ).

이상에서는 본 발명의 제 5 실시예를 통해 블록 움직임 벡터를 추정한 후, 추정된 블록 움직임 벡터를 이용하여 화소별 움직임 벡터를 추정한 후, 블록 움직임 벡터만을 움직임 벡터에 대한 정보로서 부호화하여 비트스트림을 생성하는 것에 대해 설명했다. 이 경우, 화소별 움직임 벡터의 개수가 많아지는 경우, 화소별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있어서, 압축 효율을 높일 수 있지만, 블록 움직임 벡터를 이용하여 화소별 움직임 벡터를 추정하므로 화소별 움직임 벡터의 개수가 줄어 들어 잔여 블록을 부호화했을 때 비트량이 증가하여 압축 효율이 저하될 수 있다. 이하에서는 본 발명의 제 6 실시예를 통해 블록 움직임 벡터와 화소별 움직임 벡터를 독립적으로 추정하여 부호화하면서도 화소별 움직임 벡터를 부호화하는 데 소요되는 비트량을 줄일 수 있는 방식에 대해 설명한다.In the above description, after estimating a block motion vector according to a fifth embodiment of the present invention, after estimating a motion vector for each pixel using the estimated block motion vector, only the block motion vector is encoded as information on the motion vector and then a bitstream. I explained about creating it. In this case, when the number of pixel-specific motion vectors increases, the amount of bits required to encode the pixel-by-pixel motion vectors can be reduced, so that the compression efficiency can be increased. However, the pixel-specific motion vectors are estimated using the block motion vectors. Therefore, the number of motion vectors for each pixel is reduced, and thus the bit rate is increased when the residual block is encoded, thereby reducing the compression efficiency. Hereinafter, a method of reducing the amount of bits required to encode a motion vector for each pixel while independently estimating and encoding the block motion vector and the motion vector for each pixel through the sixth embodiment of the present invention will be described.

도 23은 본 발명의 제 6 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.23 is a block diagram schematically illustrating a video encoding apparatus according to a sixth embodiment of the present invention.

본 발명의 제 6 실시예에 따른 영상 부호화 장치는 도 15를 통해 전술한 본 발명의 제 4 실시예에 따른 영상 부호화 장치의 모든 구성 요소를 포함할 뿐만 아니라, 화소별 움직임 추정기(2310)를 추가로 포함한다. 여기서, 블록 및 화소별 움직임 추정기(1510), 블록 및 화소별 움직임 보상기(1520), 감산기(1530), 변환기(1540), 양자화기(1550), 역 양자화기(1570), 역 변환기(1580), 가산기(1590), 디블로킹 필터(1592) 및 픽처 버퍼(1594)는 도 15를 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.The image encoding apparatus according to the sixth embodiment of the present invention not only includes all the components of the image encoding apparatus according to the fourth embodiment of the present invention described above with reference to FIG. 15, but also adds a motion estimation unit 2310 for each pixel. It includes. Here, the block and pixel motion estimator 1510, the block and pixel motion compensator 1520, the subtractor 1530, the converter 1540, the quantizer 1550, the inverse quantizer 1570, and the inverse converter 1580. Since the adder 1590, the deblocking filter 1592, and the picture buffer 1594 perform the same or similar functions as described above with reference to FIG. 15, a detailed description thereof will be omitted.

화소별 움직임 추정기(2310)는 블록 및 화소별 움직임 추정기(1510)에서 추정된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고, 블록 및 화소별 움직임 추정기(2310)에 의해 추정된 화소별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정된 화소별 움직임 벡터와는 다른 움직임 벡터만을 출력한다. 즉, 화소별 움직임 추정기(2310)는 블록 및 화소별 움직임 추정기(2310)에서 화소별 움직임 벡터를 추정하였지만, 그와는 별개로 하나 이상의 참조 픽처에서 화소별 움직임 추정기(2310)에 의해 추정된 블록 움직임 벡터를 중심으로 현재 블록과 유사한 블록을 찾아 그 블록을 가리키는 움직임 벡터를 화소별 움직임 벡터로서 추정한다. 또한, 화소별 움직임 추정기(2310)는 블록 및 화소별 움직임 추정기(1510)에서 추정된 화소별 움직임 벡터와 블록 움직임 벡터를 이용하여 추정한 화소별 움직임 벡터를 비교하여 서로 동일한 움직임 벡터들은 제외하고 서로 상이한 움직임 벡터들 즉, 다른 움직임 벡터만을 출력한다.The pixel-by-pixel motion estimator 2310 estimates the pixel-by-pixel motion vector of the current block by using the block and the motion vector estimated by the pixel-by-pixel motion estimator 1510, and is estimated by the block and pixel-by-pixel motion estimator 2310. Only the motion vectors different from the pixel-by-pixel motion vectors estimated using the block motion vectors in the pixel-by-pixel motion vectors are output. That is, although the pixel-by-pixel motion estimator 2310 estimates the pixel-by-pixel motion vector by the block and the pixel-by-pixel motion estimator 2310, the blocks estimated by the pixel-by-pixel motion estimator 2310 in one or more reference pictures are separately. A block similar to the current block is found based on the motion vector, and a motion vector pointing to the block is estimated as a pixel-by-pixel motion vector. In addition, the pixel-by-pixel motion estimator 2310 compares the pixel-by-pixel motion vectors estimated by the block and pixel-by-pixel motion estimator 1510 with the pixel-by-pixel motion vectors estimated using the block motion vectors, except for the same motion vectors. Only different motion vectors, i.e., different motion vectors, are output.

부호화기(2320)는 블록 및 화소별 움직임 추정기(1510)에 의해 추정된 블록 움직임 벡터와 화소별 움직임 추정기(2310)에 의해 추정되고 비교되어 출력된 다른 움직임 벡터를 잔여 블록과 함께 부호화하여 비트스트림을 출력한다.The encoder 2320 encodes the block motion vector estimated by the block and pixel-by-pixel motion estimator 1510 and other motion vectors estimated and compared by the pixel-by-pixel motion estimator 2310 together with the remaining blocks to encode the bitstream. Output

즉, 부호화기(2320)에서 블록 움직임 벡터와 다른 움직임 벡터를 잔여 블록과 함께 부호화하더라도, 후술할 영상 복호화 장치에서 블록 움직임 벡터를 이용하여 화소별 움직임 벡터를 추정할 수 있고 그 추정된 화소별 움직임 벡터와 비트스트림으로부터 복원되는 다른 움직임 벡터를 이용하여 블록 및 화소별 움직임 추정기(1510)에서 추정한 변환 계수별 움직임 벡터를 모두 복원할 수 있으므로, 블록 움직임 벡터와 다른 움직임 벡터만을 부호화하는 것이다. 이를 통해, 블록 및 화소별 움직임 추정기(1510)에서 추정된 많은 개수의 화소별 움직임 벡터를 이용하여 부호화하면서도 해당 움직임 벡터를 영상 복호화 장치에게 알리기 위해서, 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 상이한 움직임 벡터를 부호화한 정보만을 전송하면 되므로, 비트스트림의 비트량을 더욱 줄일 수 있어 압축 효율을 향상시킬 수 있다.That is, even if the encoder 2320 encodes a motion vector different from the block motion vector together with the residual block, the video decoding apparatus to be described later may estimate the motion vector for each pixel using the block motion vector, and the estimated motion vector for each pixel is estimated. Since the motion vector for each transform coefficient estimated by the block and pixel-based motion estimator 1510 can be reconstructed using the other motion vectors reconstructed from the bitstream and the bitstream, only the motion vector different from the block motion vector is encoded. Through this, in order to inform the image decoding apparatus of the motion vector while encoding using a large number of pixel-specific motion vectors estimated by the block and pixel-by-pixel motion estimator 1510, the motion of each transform coefficient estimated by using the block motion vector. Since only information encoding a motion vector different from the vector needs to be transmitted, the bit amount of the bitstream can be further reduced, thereby improving compression efficiency.

도 24는 본 발명의 제 6 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.24 is a flowchart for explaining a video encoding method according to a sixth embodiment of the present invention.

본 발명의 제 6 실시예에 따른 영상 부호화 장치는 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하고(S2410), 단계 S2410에서 추정된 블록 움직 임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고 단계 S2410에서 추정된 화소별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정된 화소별 움직임 벡터와 다른 움직임 벡터를 추출하며(S2420), 단계 S2410에서 추정된 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 단계 S2410에서 추정된 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다(S2430).The video encoding apparatus according to the sixth embodiment of the present invention estimates the block motion vector and the pixel-specific motion vector of the current block (S2410) and uses the block motion vector estimated in step S2410 to obtain the pixel-by-pixel motion vector of the current block. And extract a motion vector different from the pixel-by-pixel motion vector estimated using the block motion vector from the pixel-by-pixel motion vector estimated in step S2410 (S2420), and use the reference block predicted using the block motion vector estimated in step S2410. A prediction block is generated and output using the pixels of the block and the pixels of the reference block predicted using the pixel-by-pixel motion vectors estimated in step S2410 (S2430).

또한, 영상 부호화 장치는 현재 블록과 예측 블록을 감산하여 잔여 블록을 생성하고(S2440), 잔여 블록을 변환하고(S2450), 변환된 잔여 블록을 양자화하며(S2460), 양자화된 잔여 블록, 블록 움직임 벡터 및 다른 움직임 벡터를 부호화하여 비트스트림을 출력한다(S2470).In addition, the apparatus for encoding an image generates a residual block by subtracting a current block and a prediction block (S2440), transforms the residual block (S2450), quantizes the transformed residual block (S2460), and quantizes the residual block and block motion. The vector and other motion vectors are encoded to output a bitstream (S2470).

도 25는 본 발명의 제 6 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.25 is a block diagram schematically illustrating an image decoding apparatus according to a sixth embodiment of the present invention.

본 발명의 제 6 실시예에 따른 영상 복호화 장치는 도 21을 통해 전술한 본 발명의 제 5 실시예에 따른 영상 복호화 장치의 모든 구성 요소를 포함한다. 여기서, 역 양자화기(1730), 역 변환기(1740), 가산기(1750), 디블로킹 필터(1760) 및 픽처 버퍼(1770)는 도 21을 통해 전술한 바와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.The image decoding apparatus according to the sixth embodiment of the present invention includes all the components of the image decoding apparatus according to the fifth embodiment of the present invention described above with reference to FIG. 21. Here, since the inverse quantizer 1730, the inverse converter 1740, the adder 1750, the deblocking filter 1760, and the picture buffer 1770 perform the same or similar functions as described above with reference to FIG. Omit.

복호화기(2510)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 잔여 블록을 복원한다. 이와 같이 복원된 블록 움직임 벡터는 블록 및 화소별 움직임 보상기(2530)와 화소별 움직임 추정기(2520)로 출력되고, 복원된 다른 움직임 벡터는 블록 및 화소별 움직임 보상기(2530)에 출력되며, 복원된 잔여 블록은 역 양자화기(1730)로 출력된다.The decoder 2510 decodes the bitstream to reconstruct the block motion vector, the other motion vector, and the residual block of the current block. The reconstructed block motion vector is output to the block and pixel-by-pixel motion compensator 2530 and the pixel-by-pixel motion estimator 2520, and the other reconstructed motion vectors are output to the block and pixel-by-pixel motion compensator 2530. The residual block is output to inverse quantizer 1730.

화소별 움직임 추정기(2520)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하여 출력한다. 이와 같이 출력된 화소별 움직임 벡터는 블록 및 화소별 움직임 보상기(2530)로 출력된다.The pixel-by-pixel motion estimator 2520 estimates and outputs the pixel-by-pixel motion vector of the current block by using the reconstructed block motion vector. The pixel-specific motion vector output as described above is output to the block and pixel-specific motion compensator 2530.

블록 및 화소별 움직임 보상기(2530)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 다른 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.The block and pixel-by-pixel motion compensator 2530 predicts the current block by using the pixels of the reference block generated by predicting the current block using the reconstructed block motion vector and other reconstructed motion vectors and the motion vectors for each transform coefficient. The prediction block is generated and output using the pixels of the reference block.

도 26은 본 발명의 제 6 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.26 is a flowchart illustrating an image decoding method according to a sixth embodiment of the present invention.

본 발명의 제 6 실시예에 따른 영상 복호화 장치는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 잔여 블록을 복원하고(S2610), 단계 S2610에서 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하며(S2620), 단계 S2610에서 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 단계 S2610에서 복원된 다른 움직임 벡터와 단계 S2620에서 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성한다(S2630).The image decoding apparatus according to the sixth embodiment of the present invention decodes the bitstream to reconstruct a block motion vector, another motion vector, and a residual block of the current block (S2610), and uses the current block motion vector reconstructed in step S2610. The motion vector for each pixel of the block is estimated (S2620), and the pixels of the reference block generated by predicting the current block using the block motion vector reconstructed in step S2610 and other motion vectors reconstructed in step S2610 and estimated in step S2620. A prediction block is generated using pixels of a reference block generated by predicting a current block using a motion vector for each transform coefficient (S2630).

또한, 영상 복호화 장치는 복원된 잔여 블록을 역 양자화하고(S2640), 역 양 자화된 잔여 블록을 역 변환하며(S2650), 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원한다(S2660).Also, the image decoding apparatus inverse quantizes the reconstructed residual block (S2640), inversely transforms the inverse quantized residual block (S2650), and adds the prediction block and the inversely transformed residual block to reconstruct the current block (S2660). ).

이상에서 전술한 바와 같이, 본 발명에서는 영상을 블록 단위로 부호화하는 장치를 구현할 때, 입력 영상에서 부호화하고자 하는 블록의 움직임 및 블록의 화소별 또는 변환 계수별 움직임을 추정하고 보상하여 참조블록 또는 블록의 변환계수를 조합함으로써 블록을 인터 예측 부호화하여 비트스트림을 출력하도록 구현함으로써, 블록 내의 화소들을 더욱 정확하게 예측하여 부호화된 비트스트림의 비트량을 줄일 수 있으며, 그를 통해 압축 효율을 향상시킬 수 있다.As described above, in the present invention, when implementing an apparatus for encoding an image in units of blocks, the reference block or the block is estimated by estimating and compensating the motion of the block to be encoded in the input image and the motion of each pixel or transform coefficient of the block. By combining the transform coefficients, the block is inter-predictively encoded to output the bitstream, thereby more accurately predicting the pixels in the block, thereby reducing the bit amount of the encoded bitstream, thereby improving the compression efficiency.

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. That is, within the scope of the present invention, all of the components may be selectively coupled to one or more of them. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. The codes and code segments constituting the computer program may be easily deduced by those skilled in the art. Such a computer program can be stored in a computer-readable storage medium, readable and executed by a computer, thereby realizing an embodiment 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.

또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Furthermore, the terms "comprises", "comprising", or "having" described above mean that a component can be implanted unless otherwise specifically stated, But should be construed as including other elements. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Terms used generally, such as terms defined in a dictionary, should be interpreted to coincide with the contextual meaning of the related art, and shall not be interpreted in an ideal or excessively formal sense unless explicitly defined in the present invention.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

이상에서 설명한 바와 같이 본 발명은 영상을 블록 단위로 부호화하거나 복 호화하는 영상 처리 기술 분야에 적용되어, 블록 내의 화소 또는 변환 계수별로 움직임을 예측하고 참조블록 또는 변환계수를 조합함으로써 부호화하고자 하는 블록의 움직임을 더욱 정확하게 예측하여 부호화 성능을 향상시키며 그에 따라 압축 성능 향상시키는 효과를 발생하는 매우 유용한 발명이다.As described above, the present invention is applied to an image processing technology that encodes or decodes an image in block units, and predicts motion for each pixel or transform coefficient in the block, and combines a reference block or a transform coefficient to encode the block. It is a very useful invention for generating the effect of predicting the motion more accurately and improving the encoding performance and thus the compression performance.

도 1은 본 발명의 제 1 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,1 is a block diagram schematically illustrating a video encoding apparatus according to a first embodiment of the present invention;

도 2는 본 발명의 실시예에 따라 결합 블록을 생성하는 과정을 설명하기 위한 예시도,2 is an exemplary view for explaining a process of generating a combined block according to an embodiment of the present invention;

도 3은 본 발명의 실시예에 따라 계수를 보정하는 과정을 설명하기 위한 예시도,3 is an exemplary view for explaining a process of correcting a coefficient according to an embodiment of the present invention;

도 4는 본 발명의 제 1 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,4 is a flowchart for explaining a video encoding method according to a first embodiment of the present invention;

도 5는 본 발명의 제 1 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,5 is a block diagram schematically illustrating an image decoding apparatus according to a first embodiment of the present invention;

도 6은 본 발명의 제 1 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,6 is a flowchart illustrating an image decoding method according to a first embodiment of the present invention;

도 7은 본 발명의 제 2 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,7 is a block diagram schematically illustrating a video encoding apparatus according to a second embodiment of the present invention;

도 8은 본 발명의 제 2 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,8 is a flowchart for explaining a video encoding method according to a second embodiment of the present invention;

도 9는 본 발명의 제 2 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,9 is a block diagram schematically illustrating an image decoding apparatus according to a second embodiment of the present invention;

도 10은 본 발명의 제 2 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,10 is a flowchart illustrating an image decoding method according to a second embodiment of the present invention;

도 11은 본 발명의 제 3 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,11 is a block diagram schematically illustrating a video encoding apparatus according to a third embodiment of the present invention;

도 12는 본 발명의 제 3 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,12 is a flowchart for explaining a video encoding method according to a third embodiment of the present invention;

도 13은 본 발명의 제 3 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,13 is a block diagram schematically illustrating an image decoding apparatus according to a third embodiment of the present invention;

도 14는 본 발명의 제 3 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,14 is a flowchart for explaining a video decoding method according to a third embodiment of the present invention;

도 15는 본 발명의 제 4 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,15 is a block diagram schematically illustrating a video encoding apparatus according to a fourth embodiment of the present invention;

도 16은 본 발명의 제 4 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,16 is a flowchart for explaining a video encoding method according to a fourth embodiment of the present invention;

도 17은 본 발명의 제 4 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,17 is a block diagram schematically illustrating an image decoding apparatus according to a fourth embodiment of the present invention;

도 18은 본 발명의 제 4 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,18 is a flowchart for explaining a video decoding method according to a fourth embodiment of the present invention;

도 19는 본 발명의 제 5 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,19 is a block diagram schematically illustrating a video encoding apparatus according to a fifth embodiment of the present invention;

도 20은 본 발명의 제 5 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,20 is a flowchart for explaining a video encoding method according to a fifth embodiment of the present invention;

도 21은 본 발명의 제 5 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,21 is a block diagram schematically illustrating an image decoding apparatus according to a fifth embodiment of the present invention;

도 22는 본 발명의 제 5 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도,22 is a flowchart illustrating a video decoding method according to a fifth embodiment of the present invention;

도 23은 본 발명의 제 6 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,23 is a block diagram schematically illustrating a video encoding apparatus according to a sixth embodiment of the present invention;

도 24는 본 발명의 제 6 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,24 is a flowchart for explaining a video encoding method according to a sixth embodiment of the present invention;

도 25는 본 발명의 제 6 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,25 is a block diagram schematically illustrating an image decoding apparatus according to a sixth embodiment of the present invention;

도 26은 본 발명의 제 6 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.26 is a flowchart illustrating an image decoding method according to a sixth embodiment of the present invention.

Claims (12)

현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하여 출력하는 블록 및 변환 계수별 움직임 추정기;A block estimator for estimating and outputting a block motion vector of each current block and a motion vector for each transform coefficient; 상기 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 상기 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기;A block for outputting a prediction block predicted using the block motion vector and a reference block predicted using the motion vector for each transform coefficient; 상기 현재 블록과 상기 예측 블록을 감산한 잔여 블록을 출력하고 상기 현재 블록과 상기 참조 블록을 감산한 차이 블록을 출력하는 감산기;A subtractor for outputting a residual block obtained by subtracting the current block and the prediction block and outputting a difference block obtained by subtracting the current block and the reference block; 상기 잔여 블록 및 상기 차이 블록을 변환하는 변환기;A transformer for transforming the residual block and the difference block; 상기 변환된 잔여 블록과 상기 변환된 차이 블록을 양자화하는 양자화기;A quantizer for quantizing the transformed residual block and the transformed difference block; 상기 양자화된 잔여 블록의 양자화 변환 계수 및 상기 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합기; 및A coefficient combiner for generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And 상기 결합 블록, 상기 블록 움직임 벡터 및 상기 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기An encoder that encodes the combined block, the block motion vector, and the motion vector for each transform coefficient, and outputs a bitstream 를 포함하는 것을 특징으로 하는 영상 부호화 장치.An image encoding apparatus comprising a. 제 1 항에 있어서, 상기 계수 결합기는,The method of claim 1, wherein the coefficient combiner, 상기 비트스트림의 비트량을 최소화하는 양자화 변환 계수를 선택하여 상기 결합 블록을 생성하는 것을 특징으로 하는 영상 부호화 장치. And a quantization transform coefficient that minimizes the bit amount of the bitstream to generate the combined block. 제 1 항에 있어서, 상기 영상 부호화 장치는,The image encoding apparatus according to claim 1, 상기 양자화된 결합 블록을 역 양자화하는 역 양자화기;An inverse quantizer for inversely quantizing the quantized joint block; 상기 역 양자화된 결합 블록의 변환 계수 중 상기 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 상기 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정기;A coefficient corrector for correcting a transform coefficient predicted by a motion vector for each transform coefficient among transform coefficients of the inverse quantized combined block as a transform coefficient for the block motion vector; 상기 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환기; 및An inverse transformer for inversely transforming the corrected combined block to restore a residual block; And 상기 예측 블록과 상기 복원된 잔여 블록을 가산하여 상기 현재 블록을 복원하는 가산기An adder for reconstructing the current block by adding the prediction block and the reconstructed residual block 를 추가로 포함하는 것을 특징으로 하는 영상 부호화 장치.Wherein the image encoding apparatus further comprises: 영상을 부호화하는 방법에 있어서,In the method of encoding an image, 현재 블록의 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 추정하는 블록 및 변환 계수별 움직임 추정 단계;A motion estimation step of blocks and transform coefficients for estimating a block motion vector of the current block and a motion vector for each transform coefficient; 상기 블록 움직임 벡터를 이용하여 예측되는 예측 블록 및 상기 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계;A block and a motion compensation step of transform coefficients for generating a prediction block predicted using the block motion vector and a reference block predicted using the motion vector for each transform coefficient; 상기 현재 블록과 상기 예측 블록을 감산한 잔여 블록 및 상기 현재 블록과 상기 참조 블록을 감산한 차이 블록을 생성하는 감산 단계;Generating a residual block obtained by subtracting the current block and the prediction block and a difference block obtained by subtracting the current block and the reference block; 상기 잔여 블록 및 상기 차이 블록을 변환하는 변환 단계;Transforming the residual block and the difference block; 상기 변환된 잔여 블록과 상기 변환된 차이 블록을 양자화하는 양자화 단계;A quantization step of quantizing the transformed residual block and the transformed difference block; 상기 양자화된 잔여 블록의 양자화 변환 계수 및 상기 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록을 생성하는 계수 결합 단계; 및A coefficient combining step of generating a combined block using the quantized transform coefficients of the quantized residual block and the quantized transform coefficients of the quantized difference block; And 상기 결합 블록, 상기 블록 움직임 벡터 및 상기 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계An encoding step of encoding the combined block, the block motion vector, and the motion vector for each transform coefficient to output a bitstream 를 포함하는 것을 특징으로 하는 영상 부호화 방법.Image encoding method comprising a. 영상을 복호화하는 장치에 있어서,In the apparatus for decoding an image, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원하는 복호화기;A decoder for decoding the bitstream and restoring a block motion vector, a motion vector for each transform coefficient, and a combined block of the current block; 상기 복원된 블록 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 출력하고 상기 복원된 변환 계수별 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 참조 블록을 출력하는 블록 및 변환 계수별 움직임 보상기;A block compensator for predicting the current block by using the reconstructed block motion vector, outputting a prediction block, and predicting the current block using the reconstructed motion vector for each transform coefficient, and outputting a reference block; 상기 복원된 결합 블록을 역 양자화하는 역 양자화기;An inverse quantizer for inversely quantizing the reconstructed combined block; 상기 예측 블록 및 상기 참조 블록을 이용하여 상기 역 양자화된 결합 블록의 변환 계수 중 상기 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 상기 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정기;A coefficient for correcting a transform coefficient generated by predicting a motion vector for each reconstructed transform coefficient among transform coefficients of the inverse quantized combined block by using the prediction block and the reference block, as a transform coefficient for the reconstructed block motion vector compensator; 상기 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환기; 및An inverse transformer for inversely transforming the corrected combined block to restore a residual block; And 상기 예측 블록과 상기 복원된 잔여 블록을 가산하여 상기 현재 블록을 복원하는 가산기An adder for reconstructing the current block by adding the prediction block and the reconstructed residual block 를 포함하는 것을 특징으로 하는 영상 복호화 장치.Video decoding apparatus comprising a. 영상을 복호화하는 방법에 있어서,In the method of decoding an image, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원하는 복호화 단계;Decoding the bitstream to reconstruct a block motion vector, a motion vector for each transform coefficient, and a combined block of the current block; 상기 복원된 블록 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하고 상기 복원된 변환 계수별 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 참조 블록을 생성하는 블록 및 변환 계수별 움직임 보상 단계;A block and a motion compensation step of transform coefficients predicting the current block by using the reconstructed block motion vector and generating a reference block by predicting the current block using the reconstructed transform vector motion vectors ; 상기 복원된 결합 블록을 역 양자화하는 역 양자화 단계;An inverse quantization step of inversely quantizing the reconstructed combined block; 상기 예측 블록 및 상기 참조 블록을 이용하여 상기 역 양자화된 결합 블록의 변환 계수 중 상기 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 상기 복원된 블록 움직임 벡터에 대한 변환 계수로 보정하는 계수 보정 단계;A coefficient for correcting a transform coefficient generated by predicting a motion vector for each reconstructed transform coefficient among transform coefficients of the inverse quantized combined block by using the prediction block and the reference block, as a transform coefficient for the reconstructed block motion vector Correction step; 상기 보정된 결합 블록을 역 변환하여 잔여 블록을 복원하는 역 변환 단계; 및An inverse transform step of inversely transforming the corrected combined block to restore a residual block; And 상기 예측 블록과 상기 복원된 잔여 블록을 가산하여 상기 현재 블록을 복원하는 가산 단계An addition step of reconstructing the current block by adding the prediction block and the reconstructed residual block 를 포함하는 것을 특징으로 하는 영상 복호화 방법.Image decoding method comprising a. 영상을 부호화하는 장치에 있어서,In the apparatus for encoding a video, 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하여 출력하는 블록 및 화소별 움직임 추정기;A block and pixel motion estimator for estimating and outputting a block motion vector and a pixel-specific motion vector of the current block; 상기 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 상기 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하여 출력하는 블록 및 화소별 움직임 보상기;A block and pixel-specific motion compensator for generating and outputting a prediction block using pixels of a reference block predicted using the block motion vector and pixels of a reference block predicted using the pixel-specific motion vector; 상기 현재 블록과 상기 예측 블록을 감산한 잔여 블록을 출력하는 감산기;A subtractor for outputting a residual block obtained by subtracting the current block and the prediction block; 상기 잔여 블록을 변환하는 변환기;A transformer for transforming the residual block; 상기 변환된 잔여 블록을 양자화하는 양자화기; 및A quantizer for quantizing the transformed residual block; And 상기 양자화된 잔여 블록, 상기 블록 움직임 벡터 및 상기 화소별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화기An encoder for encoding the quantized residual block, the block motion vector, and the pixel-specific motion vector to output a bitstream 를 포함하는 것을 특징으로 하는 영상 부호화 장치.An image encoding apparatus comprising a. 제 7 항에 있어서,The method of claim 7, wherein 상기 블록 및 화소별 움직임 보상기는,The block and pixel motion compensator, 상기 비트스트림의 비트량을 최소화하는 화소를 선택하여 상기 예측 블록을 생성하는 것을 특징으로 하는 영상 부호화 장치.And generating a prediction block by selecting a pixel that minimizes the bit amount of the bitstream. 영상을 부호화하는 방법에 있어서,In the method of encoding an image, 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정하는 블록 및 화소별 움직임 추정 단계;A block and pixel motion estimation step of estimating a block motion vector and a pixel-by-pixel motion vector of the current block; 상기 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 상기 화소 별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계;A block and pixel-specific motion compensation step of generating a prediction block using pixels of a reference block predicted using the block motion vector and pixels of a reference block predicted using the pixel-specific motion vector; 상기 현재 블록과 상기 예측 블록을 감산한 잔여 블록을 생성하는 감산 단계;Generating a residual block obtained by subtracting the current block and the prediction block; 상기 잔여 블록을 변환하는 변환 단계;Transforming the residual block; 상기 변환된 잔여 블록을 양자화하는 양자화 단계;A quantization step of quantizing the transformed residual block; 상기 양자화된 잔여 블록, 상기 블록 움직임 벡터 및 상기 화소별 움직임 벡터를 부호화하여 비트스트림을 출력하는 부호화 단계An encoding step of encoding the quantized residual block, the block motion vector, and the pixel-by-pixel motion vector to output a bitstream 를 포함하는 것을 특징으로 하는 영상 부호화 방법.Image encoding method comprising a. 영상을 복호화하는 장치에 있어서,In the apparatus for decoding an image, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원하는 복호화기;A decoder which decodes the bitstream to restore a block motion vector, a pixel-by-pixel motion vector, and a residual block of the current block; 상기 복원된 블록 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 생성한 참조 블록의 화소 및 상기 복원된 화소별 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력하는 블록 및 화소별 움직임 보상기;A prediction block is generated using pixels of a reference block generated by predicting the current block using the reconstructed block motion vector and pixels of a reference block generated by predicting the current block using the reconstructed pixel-specific motion vector. Block and pixel-specific motion compensators for generating and outputting the motion compensators; 상기 복원된 잔여 블록을 역 양자화하는 역 양자화기;An inverse quantizer for inversely quantizing the reconstructed residual block; 상기 역 양자화된 잔여 블록을 역 변환하는 역 변환기; 및An inverse transformer for inverse transforming the inverse quantized residual block; And 상기 예측 블록과 상기 역 변환된 잔여 블록을 가산하여 상기 현재 블록을 복원하는 가산기An adder for reconstructing the current block by adding the prediction block and the inverse transformed residual block 를 포함하는 것을 특징으로 하는 영상 복호화 장치.Video decoding apparatus comprising a. 영상을 복호화하는 방법에 있어서,In the method of decoding an image, 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원하는 복호화 단계;A decoding step of decoding the bitstream to restore a block motion vector, a pixel-by-pixel motion vector, and a residual block of the current block; 상기 복원된 블록 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 생성한 참조 블록의 화소 및 상기 복원된 화소별 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하는 블록 및 화소별 움직임 보상 단계;A prediction block is generated by using pixels of a reference block generated by predicting the current block using the reconstructed block motion vector and pixels of a reference block generated by predicting the current block using the reconstructed pixel-specific motion vector. A motion compensation step of generating blocks and pixels; 상기 복원된 잔여 블록을 역 양자화하는 역 양자화 단계;An inverse quantization step of inversely quantizing the reconstructed residual block; 상기 역 양자화된 잔여 블록을 역 변환하는 역 변환기 단계; 및An inverse transformer step of inversely transforming the inverse quantized residual block; And 상기 예측 블록과 상기 역 변환된 잔여 블록을 가산하여 상기 현재 블록을 복원하는 가산 단계An addition step of reconstructing the current block by adding the prediction block and the inverse transformed residual block 를 포함하는 것을 특징으로 하는 영상 복호화 방법.Image decoding method comprising a. 삭제delete
KR1020090016159A 2009-02-26 2009-02-26 Video Coding Apparatus and Method KR101369171B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090016159A KR101369171B1 (en) 2009-02-26 2009-02-26 Video Coding Apparatus and Method
PCT/KR2010/001040 WO2010098556A2 (en) 2009-02-26 2010-02-19 Image encoding/decoding apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090016159A KR101369171B1 (en) 2009-02-26 2009-02-26 Video Coding Apparatus and Method

Publications (2)

Publication Number Publication Date
KR20100097286A KR20100097286A (en) 2010-09-03
KR101369171B1 true KR101369171B1 (en) 2014-03-07

Family

ID=42666030

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090016159A KR101369171B1 (en) 2009-02-26 2009-02-26 Video Coding Apparatus and Method

Country Status (2)

Country Link
KR (1) KR101369171B1 (en)
WO (1) WO2010098556A2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101341993B1 (en) * 2010-10-06 2013-12-16 에스케이텔레콤 주식회사 Method and Apparatus for Image Encoding/Decoding Using High Resolution Filter
KR101249346B1 (en) * 2011-01-31 2013-04-01 국방과학연구소 Method and apparatus for video coding/decoding using adaptive quantization coefficient scanning, and computer readable storage medium having a program recorded thereon to implement its method
EP2854399B1 (en) 2012-06-19 2017-11-22 LG Electronics Inc. Method and device for processing video signal
US10051268B2 (en) 2014-10-29 2018-08-14 Lg Electronics Inc. Method for encoding, decoding video signal and device therefor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070037531A (en) * 2005-10-01 2007-04-05 삼성전자주식회사 Method and apparatus for inter-mode decision in video coding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970057920A (en) * 1995-12-19 1997-07-31 구자홍 Motion predictor for video compression
KR100316770B1 (en) * 1997-06-20 2002-07-03 윤종용 Method and system for encoding images in consideration of perceptual color tolerance
KR100656644B1 (en) * 2004-12-22 2006-12-11 엘지전자 주식회사 Apparatus for motion compensation in video codec

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070037531A (en) * 2005-10-01 2007-04-05 삼성전자주식회사 Method and apparatus for inter-mode decision in video coding

Also Published As

Publication number Publication date
WO2010098556A3 (en) 2010-11-25
KR20100097286A (en) 2010-09-03
WO2010098556A2 (en) 2010-09-02

Similar Documents

Publication Publication Date Title
KR101377660B1 (en) Motion Vector Encoding/Decoding Method and Apparatus Using Multiple Motion Vector Estimation and Video Encoding/Decoding Method and Apparatus Using Same
KR101459714B1 (en) Motion Vector Coding Method and Apparatus by Using Partitioning Space and Video Coding Method and Apparatus Using Same
KR101377527B1 (en) Method and Apparatus for Encoding and Decoding Motion Vector in Plural Number of Reference Pictures and Video Encoding/Decoding Method and Apparatus Using Same
KR20190009408A (en) Method and Apparatus for Video Encoding/Decoding
KR101681303B1 (en) Method and Apparatus for Encoding/Decoding of Video Data Using Partitioned-Block Prediction
KR101567974B1 (en) / / Block Mode Encoding/Decoding Method and Apparatus and Video Encoding/Decoding Method and Apparatus Using Same
WO2013002549A2 (en) Method and apparatus for coding/decoding image
KR101955374B1 (en) Method and Apparatus for Image Encoding/Decoding By Fast Coding Unit Mode Decision
KR20110054592A (en) Motion vector coding method and apparatus by using candidate predicted motion vector set selection and video coding method and apparatus using same
KR101418104B1 (en) Motion Vector Coding Method and Apparatus by Using Motion Vector Resolution Combination and Video Coding Method and Apparatus Using Same
KR20100048435A (en) Motion vector encoding/decoding method and apparatus and video encoding/decoding method and apparatus
KR20110058702A (en) Video encoding/decoding method and apparatus based on adaptive second prediction, and recording medium therefor
KR101601813B1 (en) A Video Decoding Method and Apparatus Using Inter Prediction
KR101369171B1 (en) Video Coding Apparatus and Method
WO2012021040A2 (en) Method and device for encoding/decoding image having removable filtering mode
KR20110045912A (en) Adaptive Resolution Based Video Encoding/Decoding Method and Apparatus
KR101449683B1 (en) Motion Vector Coding Method and Apparatus by Using Motion Vector Resolution Restriction and Video Coding Method and Apparatus Using Same
KR20160078318A (en) Method and Apparatus for Video Encoding/Decoding
KR101527148B1 (en) Inter Prediction Apparatus and Video Encoding/Decoding Apparatus and Method Using Same
KR20100092268A (en) Video coding apparatus and method
KR101590493B1 (en) Method and Apparatus for Encoding and Decoding Video by Using Inter Prediction
KR101575635B1 (en) Method and Apparatus for Encoding and Decoding Motion Vector in Plural Number of Reference Pictures and Video Encoding/Decoding Method and Apparatus Using Same
KR101997655B1 (en) Method and Apparatus for Image Encoding/Decoding
KR101575636B1 (en) Motion Vector Encoding/Decoding Method and Apparatus Using Multiple Motion Vector Estimation and Video Encoding/Decoding Method and Apparatus Using Same
KR101582504B1 (en) Method and Apparatus for Encoding and Decoding Video by Using Inter Prediction

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170207

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190131

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191216

Year of fee payment: 7