KR20100097286A - Video coding apparatus and method - Google Patents
Video coding apparatus and method Download PDFInfo
- Publication number
- KR20100097286A KR20100097286A KR1020090016159A KR20090016159A KR20100097286A KR 20100097286 A KR20100097286 A KR 20100097286A KR 1020090016159 A KR1020090016159 A KR 1020090016159A KR 20090016159 A KR20090016159 A KR 20090016159A KR 20100097286 A KR20100097286 A KR 20100097286A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- motion vector
- pixel
- motion
- transform coefficient
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods 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
Description
본 발명은 영상 부호화/복호화 장치 및 방법에 관한 것이다. 더욱 상세하게는, 영상을 인터 예측 부호화하는데 있어서 다수의 움직임 벡터를 사용하여 잔여블록(변환계수)의 부호화 성능을 향상시킴으로써 압축 성능을 향상시키는 장치 및 방법에 관한 것이다.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 through exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though 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 addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. If a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected or connected to that other component, but between components It will be understood that may be "connected", "coupled" or "connected".
이하에서 후술할 영상 부호화 장치와 영상 복호화 장치는 개인용 컴퓨터(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)으로 분류된다.In general, a moving picture is composed of a series of pictures, and each picture is divided into blocks. Each block is largely classified into an intra block and an inter block according to an encoding method.
인트라 블록은 인트라 예측 부호화(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 for encoding or decoding the 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
블록 및 변환 계수별 움직임 추정기(110)는 현재 블록(Current Block)의 블록 움직임 벡터(Block Motion Vector) 및 변환 계수별 움직임 벡터(Transform Coefficient Motion Vector)를 추정하여 출력한다. 여기서, 현재 블록의 블록 움직 임 벡터는 참조 픽처에서 현재 블록과 가장 유사한 블록을 가리키는 움직임 벡터를 말하며, 현재 블록의 변환 계수별 움직임 벡터란 해당 움직임 벡터로 움직임 보상하여 예측한 화소값과 현재 블록의 원 화소값과의 차이값을 변환하고 양자화한 변환 계수로 부호화했을 때 부호화 성능이 최대가 되는 움직임 벡터를 말한다. 또한, 블록 움직임 벡터는 현재 블록에 대해 하나의 움직임 벡터가 추정되지만, 변환 계수별 움직임 벡터는 현재 블록에 대해 복수 개의 움직임 벡터가 추정될 수 있는데, 현재 블록의 화소의 개수에 대응하는 변환 계수의 수만큼 또는 그 개수 이하의 움직임 벡터가 추정될 수 있다.The
블록 및 변환 계수별 움직임 보상기(112)는 블록 움직임 벡터를 이용하여 예측되는 예측 블록(Predicted Block) 및 변환 계수별 움직임 벡터를 이용하여 예측되는 참조 블록(Reference Block)을 출력한다. 즉, 블록 및 변환 계수별 움직임 보상기(112)는 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 블록 움직임 벡터와 변환 계수별 움직임 벡터를 이용하여 현재 블록의 움직임을 각각 보상하여 예측되는 예측 블록과 참조 블록을 출력한다. 블록 움직임 벡터는 한 개이고 변환 계수별 움직임 벡터는 복수 개가 될 수 있으므로, 예측 블록은 한 개의 블록이 생성되고, 참조 블록은 추정된 변환 계수별 움직임 벡터의 수만큼 생성될 수 있다.The block and transform
감산기(120)는 현재 블록과 예측 블록을 감산한 잔여 블록(Residual Block)을 출력하고 현재 블록과 참조 블록을 감산한 차이 블록(Difference Block)을 출력한다. 여기서, 잔여 블록은 현재 블록의 원 화소값과 예측 블록의 예측 화소값의 차이인 잔여 신호(Redual Signal)를 포함하며, 차이 블록은 현재 블록의 원 화소값 과 참조 블록의 예측 화소값의 차이인 잔여 신호를 포함한다.The
변환기(130)는 잔여 블록 및 차이 블록을 변환한다. 여기서, 변환기(130)는 잔여 블록의 잔여 신호를 주파수 영역(Frequency Domain)으로 변환하고 차이 블록의 잔여 신호를 주파수 변환하는 데, 주파수 변환을 위해 이산 코사인 변환(DCT: Discrete Cosine Transform, 이하 'DCT'라 칭함) 기반 변환 또는 하다마드 변환(Hadamard Transform) 등을 이용할 수 있지만, 반드시 이에 한정되지 않고 DCT 변환을 개량 및 변형한 다양한 변환 기법을 이용할 수 있으며, 이를 이용하여 잔여 신호가 주파수 영역으로 변환되어 변환 계수(Transform Coefficient)로 변환된다.The
양자화기(140)는 변환된 잔여 블록과 변환된 차이 블록을 양자화한다. 여기서, 양자화기(140)는 변환된 잔여 블록의 변환 계수와 변환된 차이 블록의 변환 계수를 양자화하는데, 양자화를 위해 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등을 이용할 수 있지만 이를 개량한 양자화 등 다양한 양자화 방법을 이용할 수 있다.
계수 결합기(150)는 양자화된 잔여 블록의 양자화 변환 계수 및 양자화된 차이 블록의 양자화 변환 계수를 이용하여 결합 블록(Coupling Block)을 생성한다. 여기서, 계수 결합기(150)는 비트스트림(Bitstream)의 비트량을 최소화하는 양자화 변환 계수를 선택하여 결합 블록을 생성할 수 있다. 즉, 계수 결합기(150)는 양자화된 잔여 블록의 양자화 변환 계수들과 양자화된 차이 블록의 양자화 변환 계수들 중에서 선택적으로 결합하여 결합 블록을 생성하고 부호화했을 때, 출력되는 비트 스트림의 비트량이 최소가 되는 양자화 변환 계수들을 선택하여 결합 블록을 생성할 수 있다.The
또한, 계수 결합기(150)는 양자화 변환 계수들을 선택하여 결합 블록을 생성하면, 움직임 벡터별로 선택된 양자화 변환 계수들의 위치에 대한 정보를 생성할 수 있으며, 생성된 정보는 부호화기(160)에서 부호화될 수 있다. 예를 들어, 결합 블록을 구성하는 양자화 변환 계수들이 A, B, C 세 개의 움직임 벡터에 해당하는 변환 계수들인 경우, 계수 결합기(150)는 A 움직임 벡터에 대한 양자화 변환 계수가 선택된 결합 블록의 위치, B 움직임 벡터에 대한 양자화 변환 계수가 선택된 결합 블록의 위치 및 C 움직임 벡터에 대한 양자화 변환 계수가 선택된 결합 블록의 위치를 생성할 수 있으며, 이와 같이 생성된 위치에 대한 정보들은 부호화기(160)에서 부호화될 수 있다.In addition, when the
부호화기(160)는 결합 블록, 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트스트림을 출력한다. 즉, 부호화기(160)는 계수 결합기(150)에 의해 결합된 결합 블록의 양자화된 변환 계수들을 스캔하고 엔트로피 코딩(Entropy Coding) 등 다양한 부호화 기법을 이용하여 부호화함으로써 비트열을 생성하고, 블록 및 변환 계수별 움직임 추정기(110)로부터 출력되는 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 부호화하여 비트열을 생성함으로써 최종적인 비트스트림을 생성하여 출력한다. 또한, 전술한 바와 같이, 부호화기(160)는 계수 결합기(150)로부터 움직임 벡터별로 선택된 양자화 변환 계수들의 위치에 대한 정보가 전달되면 이를 부호화하여 비트스트림에 포함시킬 수 있다.The
역 양자화기(170)는 양자화된 결합 블록을 역 양자화한다. 여기서, 역 양자화기(170)는 양자화기(140)에서 양자화한 방식의 역으로 수행함으로써 역 양자화(Inverse Quantization)를 수행한다.
계수 보정기(180)는 예측 블록과 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 블록 움직임 벡터에 대한 변환 계수로 보정한다. 즉, 계수 보정기(180)는 역 양자화된 결합 블록의 변환 계수들은 블록 움직임 벡터로 예측되어 생성된 변환 계수들과 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수들을 포함하고 있으므로, 역 변환기(190)가 결합 블록을 역 변환할 수 있도록, 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 블록 움직임 벡터에 대한 변환 계수로 보정한다. 계수 보정기(180)가 변환 계수를 보정하는 과정에 대해서는 후술하는 과정에서 도 3을 통해 상세히 설명한다.The
역 변환기(190)는 보정된 결합 블록을 역 변환하여 잔여 블록을 복원한다. 여기서, 역 변환기(190)는 변환기(130)에서 변환한 방식의 역으로 수행함으로써 역 변환(Inverse Transform)을 수행한다.
가산기(192)는 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한다. 여기서, 가산기(192)는 블록 및 변환 계수별 움직임 보상기(112)로부터 출력되는 예측 블록의 예측 화소값과 역 변환기(190)로부터 출력되는 잔여 블록의 복원된 잔여 신호를 가산하여 현재 블록의 원 화소값을 복원한다. 이때, 역 변환된 결합 블록에 포함된 복원된 잔차 신호는 계수 보정기(180)에 의해 블록 움직임 벡터 에 대해 보정되어 있으므로, 블록 움직임 벡터를 이용하여 움직임을 보상한 예측 블록의 화소값과 가산하면 된다.The
디블로킹 필터(194)는 가산기(192)로부터 출력되는 복원된 현재 블록을 디블로킹 필터링(Deblocking Filtering)하여 블록 왜곡(Block Distortion or Blockiness) 등을 제거하여 출력한다. 픽처 버퍼(196)는 디블로킹 필터(194)에 의해 블록 왜곡 등이 제거된 현재 블록을 저장하여 블록 및 변환 계수별 움직임 추정기(110) 및 블록 및 변환 계수별 움직임 보상기(112)에서 움직임 벡터를 추정하고 움직임 벡터를 이용하여 움직임을 보상할 때 참조할 참조 픽처 또는 참조 블록으로 이용할 수 있도록 한다.The
도 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
비트스트림의 비트량을 줄이기 위해, 블록 및 변환 계수별 움직임 추정기(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
변환 계수별 움직임 벡터인 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
도 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
변환 계수의 보정은 수학식 1을 이용하여 이루어질 수 있다. Correction of the conversion coefficient may be made using
여기서, 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
수학식 1은 아래와 같은 수학식 2 내지 수학식 4를 통해 도출될 수 있다. 아래의 수학식 2 내지 수학식 4는 결합 블록이 도 2를 통해 예를 들어 전술한 바와 같이 생성된 경우에 대한 수학식으로서 그 예에 따라 달라질 수 있다.
차이 블록은 예측 블록과 참조 블록의 차이이므로, 수학식 2와 같이 나타낼 수 있다.Since the difference block is the difference between the prediction block and the reference block, it can be expressed as in
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
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과 같이 나타낼 수 있다.
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
도 3에서는 계수 보정기(180)가 수학식 1을 통해 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 블록 움직임 벡터에 대한 변환 계수로 보정하는 과정을 예시적으로 나타내었다.In FIG. 3, the
결합 블록이 도 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
예를 들어, 도 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
이때, 계수 보정기(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
이와 같이, 계수 보정기(180)에 의해 보정된 변환 계수의 보정값은 역 양자화기(170)에 의해 역 양자화된 블록 움직임 벡터(MV-block)에 해당하는 변환 계수에 해당하는 변환 계수와 더하여 보정된 잔여 블록을 생성하고, 보정된 잔여 블록은 역 변환기(190)에 의해 역 변환되어 가산기(192)에 의해 블록 움직임 벡터(MV-block)로 움직임 보상되어 생성되는 예측 블록과 가산되어 현재 블록이 복원된다.As such, the correction value of the transform coefficient corrected by the
도 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
복호화기(510)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 변환 계수별 움직임 벡터 및 결합 블록을 복원한다. 여기서, 복호화기(510)는 비트스트림을 복호화할 때, 영상 부호화 장치의 부호화기(160)에서 부호화한 부호화 기법과 동일 또는 유사하거나 그 역을 수행함으로써 복호화할 수 있다. 또한, 복호화기(510)는 비트스트림에 움직임 벡터별 양자화 변환 계수의 위치에 대한 정보가 포함된 경우, 이를 복호화하여 계수 보정기(540)로 전달할 수 있다.The
블록 및 변환 계수별 움직임 보상기(520)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 출력하고 복원된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력한다. 즉, 블록 및 변환 계수별 움직임 보상기(520)는 복호화기(510)에 의해 복원된 블록 움직임 벡터 및 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측함으로써 예측 블록과 참조 블록을 출력한다.The block and transform
역 양자화기(530)는 복원된 결합 블록을 역 양자화한다. 즉, 역 양자화기(530)는 복호화기(510)에 의해 복원된 결합 블록의 양자화된 변환 계수를 역 양자화한다. 여기서, 역 양자화기(530)는 영상 부호화 장치의 역 양자화기(170)와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
계수 보정기(540)는 예측 블록 및 참조 블록을 이용하여 역 양자화된 결합 블록의 변환 계수 중 복원된 변환 계수별 움직임 벡터로 예측되어 생성된 변환 계수를 복원된 블록 움직임 벡터에 대한 변환 계수로 보정한다. 즉, 계수 보정기(540)는 역 양자화기(530)로부터 출력된 결합 블록의 변환 계수들을 블록 움직임 벡터에 대해 변환 계수로 통일시킨다. 여기서, 계수 보정기(540)는 영상 부호화 장치의 계수 보정기(180)에서 변환 계수를 보정하는 것과 동일 또는 유사한 과정을 통해 변환 계수를 보정하므로 상세한 설명은 생략한다.The
여기서, 계수 보정기(540)는 계수를 보정하기 위해 역 양자화된 결합 블록에서 각 움직임 벡터에 해당하는 변환 계수를 분리해야 하는데, 계수를 분리하기 위해 비트스트림에 포함된 정보를 이용하거나 계수 보정기(540)가 스스로 각 움직임 벡터에 해당하는 변환 계수를 탐색하는 등 다양한 방식으로 각 움직임 벡터에 해당하는 변환 계수의 위치를 파악하여 분리할 수 있다. 예를 들어, 계수 보정기(540)는 비트스트림에 포함된 각 움직임 벡터에 해당하는 변환 계수에 대한 정보를 이용할 수 있는데, 이 정보를 이용하여 각 움직임 벡터별 변환 계수를 식별하여 각 움직임 벡터에 해당하는 변환 계수를 분리할 수 있다.Here, the
역 변환기(550)는 보정된 결합 블록을 역 변환하여 잔여 블록을 복원한다. 즉, 역 변환기(550)는 계수 보정기(540)에 의해 블록 움직임 벡터에 대해 통일된 변환 계수들을 역 변환하여 잔여 신호를 복원함으로써 잔여 블록을 복원한다. 여기서, 역 변환기(550)는 영상 부호화 장치의 역 변환기(190)와 동일 또는 유사한 기능을 수행하므로 상세한 설명은 생략한다.
가산기(560)는 예측 블록과 복원된 잔여 블록을 가산하여 현재 블록을 복원한다. 디블로킹 필터(570)와 픽처 버퍼(580)는 영상 부호화 장치의 디블로킹 필터(194) 및 픽처 버퍼(196)과 동일 또는 유사한 기능을 수행함으로 상세한 설명은 생략한다.The
도 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
블록 움직임 추정기(710)는 현재 블록의 블록 움직임 벡터를 추정한다. 즉, 블록 움직임 추정기(710)는 하나 이상의 참조 픽처에서 현재 블록과 가장 유사한 블록을 찾아 그를 가리키는 움직임 벡터를 블록 움직임 벡터로서 추정한다.The
변환 계수별 움직임 추정기(720)는 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고 출력한다. 즉, 변환 계수별 움직임 추정기(720)는 하나 이상의 참조 픽처에서 블록 움직임 추정기(710)로부터 출력되는 블록 움직임 벡터를 중심으로 현재 블록과 유사한 다른 블록들을 찾아 그 다른 블록들을 가리키는 움직임 벡터를 변환 계수별 움직임 벡터로서 추정한다.The
즉, 본 발명의 제 1 실시예에서는 블록 및 변환 계수별 움직임 추정기(110)가 블록 움직임 벡터와 변환 계수별 움직임 벡터를 상호 간에 독립적으로 추정하였지만, 본 발명의 제 2 실시예에서는 블록 움직임 추정기(710)는 블록 움직임 벡터만을 추정하고, 변환 계수별 움직임 추정기(720)는 블록 움직임 벡터를 중심으로 일정한 영역에서 변환 계수별 움직임 벡터를 추정한다. 따라서, 변환 계수별 움직임 추정기(720)에 의해 추정되는 변환 계수별 움직임 벡터의 개수는 블록 움직임 벡터를 중심으로 추정되기 때문에, 본 발명의 제 1 실시예에 따른 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 변환 계수별 움직임 벡터의 개수보다 같거나 작을 수 있다.That is, in the first embodiment of the present invention, the block and transform
블록 움직임 추정기(710)에서 추정된 블록 움직임 벡터와 변환 계수별 움직임 벡터 추정기(720)에서 추정된 변환 계수별 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(112)로 출력되어 움직임 보상에 이용된다.The block motion vector estimated by the
또한, 본 발명의 제 2 실시예에 따른 부호화기(730)는 제 1 실시예에 따른 부호화기(160)와는 달리, 블록 움직임 벡터와 변환 계수별 움직임 벡터를 모두 부 호화하는 것이 아니라, 블록 움직임 추정기(710)로부터 출력되는 블록 움직임 벡터만을 부호화한다. 따라서, 본 발명의 제 2 실시예에 따른 부호화기(730)는 블록 움직임 벡터와 결합 블록을 부호화하여 비트스트림을 생성하고 출력한다.Also, unlike the
즉, 부호화기(730)에서 변환 계수별 움직임 벡터를 제외하여 블록 움직임 벡터와 결합 블록만을 부호화하더라도 후술할 영상 복호화 장치에서 블록 움직임 벡터를 이용하여 변환 계수별 움직임 벡터를 추정할 수 있으므로, 블록 움직임 벡터만을 부호화하는 것이다. 부호화기(730)가 변환 계수별 움직임 벡터를 부호화하지 않아도 되므로, 본 발명의 제 2 실시예에 따라 부호화되어 최종적으로 출력되는 비트스트림의 비트량은 크게 줄어 들 수 있다.That is, even if the
도 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
복호화기(910)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 결합 블록을 복원한다. 즉, 본 발명의 제 2 실시예에 따른 비트스트림에는 부호화된 결합 블록과 부호화된 블록 움직임 벡터만을 포함하고 있으므로, 복호화기(910)는 비트스트림을 복호화하여 블록 움직임 벡터와 결합 블록을 복원한다.The
복호화기(910)에서 복원된 블록 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)뿐만 아니라 변환 계수별 움직임 추정기(920)로 입력되고, 변환 계수별 움직임 추정기(920)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여 출력한다. 즉, 변환 계수별 움직임 추정기(920)는 도 7을 통해 전술한 변환 계수별 움직임 추정기(720)와 동일한 방식으로 복원된 블록 움직임 벡터를 중심으로 변환 계수별 움직임 벡터를 추정한다.The block motion vector reconstructed by the
이와 같이, 추정된 변환 계수별 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)로 입력되고, 블록 및 변환 계수별 움직임 보상기(520)는 복원된 블록 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록과 참조 블록을 생성한다.In this way, the estimated motion vector for each transform coefficient is input to the
도 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
변환 계수별 움직임 추정기(1110)는 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하고, 블록 및 개별 움직임 추정기에 의해 추정된 변환 계수별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와는 다른 움직임 벡터만을 출력한다. 즉, 변환 계수별 움직임 추정기(1110)는 블록 및 변환 계수별 움직임 추정기(110)에서 변환 계수별 움직임 벡터를 추정하였지만, 그와는 별개로 하나 이상의 참조 픽처에서 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 블록 움직임 벡터를 중심으로 현재 블록과 유사한 블록을 찾아 그 블록을 가리키는 움직임 벡터를 변환 계수별 움직임 벡터로서 추정한다. 또한, 변환 계수별 움직임 추정기(1110)는 블록 및 변환 계수별 움직임 추정기(110)에서 추정된 변환 계수별 움직임 벡터와 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터를 비교하여 서로 동일한 움직임 벡터들은 제외하고 서로 상이한 움직임 벡터들 즉, 다른 움직임 벡터만을 출력한다.The
이후, 블록 및 변환 계수별 움직임 보상기(112)에서 예측 블록과 참조 블록을 생성할 때에는 블록 및 변환 계수별 움직임 추정기(110)에서 추정한 블록 움직임 벡터와 변환 계수별 움직임 벡터를 이용하여 보상하지만, 부호화기(1120)는 블록 및 변환 계수별 움직임 추정기(110)에 의해 추정된 블록 움직임 벡터와 변환 계수별 움직임 추정기(1110)에 의해 추정되고 비교되어 출력된 다른 움직임 벡터를 결합 블록과 함께 부호화하여 비트스트림을 출력한다.Subsequently, when generating the prediction block and the reference block by the
즉, 부호화기(1120)에서 블록 움직임 벡터와 다른 움직임 벡터를 결합 블록과 함께 부호화하더라도, 후술할 영상 복호화 장치에서 블록 움직임 벡터를 이용하 여 변환 계수별 움직임 벡터를 추정할 수 있고 그 추정된 변환 계수별 움직임 벡터와 비트스트림으로부터 복원되는 다른 움직임 벡터를 이용하여 블록 및 변환 계수별 움직임 추정기(110)에서 추정한 변환 계수별 움직임 벡터를 모두 복원할 수 있으므로, 블록 움직임 벡터와 다른 움직임 벡터만을 부호화하는 것이다. 이를 통해, 블록 및 변환 계수별 움직임 추정기(110)에서 추정된 많은 개수의 변환 계수별 움직임 벡터를 이용하여 부호화하면서도 해당 움직임 벡터를 영상 복호화 장치에게 알리기 위해서, 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 상이한 움직임 벡터를 부호화한 정보만을 전송하면 되므로, 비트스트림의 비트량을 더욱 줄일 수 있어 압축 효율을 향상시킬 수 있다.That is, even if the
도 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
복호화기(1310)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 결합 블록을 복원한다. 여기서, 복원된 결합 블록은 역 양자화기(530)로 출력되고, 복원된 블록 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)와 변환 계수별 움직임 추정기(1320)로 출력되며, 복원된 다른 움직임 벡터는 블록 및 변환 계수별 움직임 보상기(520)로 출력된다.The
변환 계수별 움직임 추정기(1320)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 변환 계수별 움직임 벡터를 추정하여 출력한다.The
블록 및 변환 계수별 움직임 보상기(1330)는 복원된 블록 움직임 벡터를 이 용하여 현재 블록을 예측하여 예측 블록을 출력하고 복호화기(1310)에의해 복원된 다른 움직임 벡터와 변환 계수별 움직임 추정기(1320)에 의해 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 참조 블록을 출력한다.The
도 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
블록 및 화소별 움직임 추정기(1510)는 현재 블록의 블록 움직임 벡터 및 화소별 움직임 벡터를 추정한다. 즉, 블록 및 화소별 움직임 추정기(1510)는 하나 이상의 참조 픽처에서 현재 블록과 가장 유사한 블록을 찾아 그를 가리키는 움직임 벡터를 블록 움직임 벡터로서 추정하고, 하나 이상의 참조 픽처에서 현재 블록 내의 각 화소별로 가장 유사한 블록을 찾아 그를 가리키는 움직임 벡터를 화소별 움직임 벡터로서 추정한다.The block and
여기서, 현재 블록의 블록 움직임 벡터는 참조 픽처에서 현재 블록과 가장 유사한 블록을 가리키는 움직임 벡터를 말하며, 현재 블록의 화소별 움직임 벡터란 해당 움직임 벡터로 움직임 보상하여 예측한 화소값과 현재 블록의 원 화소값과의 차이값을 변환하고 양자화한 변환 계수로 부호화했을 때 부호화 성능이 최대가 되는 움직임 벡터를 말한다. 또한, 블록 움직임 벡터는 현재 블록에 대해 하나의 움직임 벡터가 추정되지만, 화소별 움직임 벡터는 현재 블록에 대해 복수 개의 움직임 벡터가 추정될 수 있는데, 현재 블록의 화소의 개수만큼 또는 그 개수 이하의 움직임 벡터가 추정될 수 있다.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
감산기(1530)는 현재 블록과 예측 블록을 감산한 잔여 블록을 출력한다. 변환기(1540)는 잔여 블록을 변환한다. 양자화기(1550)는 변환된 잔여 블록을 양자화한다. 부호화기(1560)는 양자화된 잔여 블록, 블록 움직임 벡터 및 화소별 움직임 벡터를 부호화하여 비트스트림을 출력한다. 역 양자화기(1570)는 양자화된 잔여 블 록을 역 양자화한다. 역 변환기(1580)는 역 양자화된 잔여 블록을 역 변환한다. 가산기(1590)는 역 변환된 잔여 블록과 블록 및 화소별 움직임 보상기(1520)로부터 출력된 예측 블록을 가산하여 현재 블록을 복원한다. 변환, 양자화, 부호화, 역 양자화, 역 변환에 대해서는 제 1 실시예 내지 제 3 실시예를 통해 전술한 내용과 동일 또는 유사하므로 그에 대한 상세한 설명은 생략한다.The
또한, 디블로킹 필터(1592) 및 픽처 버퍼(1594)는 본 발명의 제 4 실시예에 따른 영상 부호화 장치에 반드시 포함되지 않고 선택적으로 포함될 수 있으며, 그 내용에 대해서도 제 1 실시예 내지 제 3 실시예를 통해 전술한 내용과 동일 또는 유사하므로 그에 대한 상세한 설명은 생략한다.In addition, the
도 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
복호화기(1710)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 화소별 움직임 벡터 및 잔여 블록을 복원한다.The
블록 및 화소별 움직임 보상기(1720)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 화소별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.The block and pixel-by-
역 양자화기(1730)는 복원된 잔여 블록을 역 양자화한다. 역 변환기(1740)는 역 양자화된 잔여 블록을 역 변환한다. 가산기(1750)는 예측 블록과 역 변환된 잔여 블록을 가산하여 현재 블록을 복원한다.
도 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
블록 움직임 추정기(1510)는 현재 블록의 블록 움직임 벡터를 추정하여 출력한다. 추정된 블록 움직임 벡터는 화소별 움직임 벡터 추정기(1920), 블록 및 화소별 움직임 보상기(1520) 및 부호화기(1930)로 출력된다.The
화소별 움직임 추정기(1520)는 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고 출력한다. 추정된 화소별 움직임 벡터는 블록 및 화소별 움직임 보상기(1520)로 출력되며, 블록 및 화소별 움직임 보상기(1530)는 블록 움직임 벡터를 이용하여 예측되는 참조 블록의 화소 및 화소별 움직임 벡터를 이용하여 예측되는 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.The pixel-by-
부호화기(1930)는 화소별 움직임 벡터는 부호화하지 않고, 블록 움직임 추정기(1910)로부터 출력되는 블록 움직임 벡터와 양자화기(1550)에 의해 양자화된 잔여 블록을 부호화하여 비트스트림을 출력한다.The
도 20은 본 발명의 제 5 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.20 is a flowchart illustrating a video 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
복호화기(2110)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터 및 잔여 블록을 복원한다. 이와 같이 복원된 블록 움직임 벡터는 화소별 움직임 추정기(2120)와 블록 및 화소별 움직임 보상기(1720)로 출력되고, 복원된 잔여 블록은 역 양자화기(1730)로 출력된다.The
화소별 움직임 추정기(2120)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하여 출력한다. 이와 같이 추정된 화소별 움직임 벡터는 블록 및 화소별 움직임 보상기(1720)로 출력되고, 블록 및 화소별 움직임 보상기(1720)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.The per-
도 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
화소별 움직임 추정기(2310)는 블록 및 화소별 움직임 추정기(1510)에서 추정된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하고, 블록 및 화소별 움직임 추정기(2310)에 의해 추정된 화소별 움직임 벡터에서 블록 움직임 벡터를 이용하여 추정된 화소별 움직임 벡터와는 다른 움직임 벡터만을 출력한다. 즉, 화소별 움직임 추정기(2310)는 블록 및 화소별 움직임 추정기(2310)에서 화소별 움직임 벡터를 추정하였지만, 그와는 별개로 하나 이상의 참조 픽처에서 화소별 움직임 추정기(2310)에 의해 추정된 블록 움직임 벡터를 중심으로 현재 블록과 유사한 블록을 찾아 그 블록을 가리키는 움직임 벡터를 화소별 움직임 벡터로서 추정한다. 또한, 화소별 움직임 추정기(2310)는 블록 및 화소별 움직임 추정기(1510)에서 추정된 화소별 움직임 벡터와 블록 움직임 벡터를 이용하여 추정한 화소별 움직임 벡터를 비교하여 서로 동일한 움직임 벡터들은 제외하고 서로 상이한 움직임 벡터들 즉, 다른 움직임 벡터만을 출력한다.The pixel-by-
부호화기(2320)는 블록 및 화소별 움직임 추정기(1510)에 의해 추정된 블록 움직임 벡터와 화소별 움직임 추정기(2310)에 의해 추정되고 비교되어 출력된 다른 움직임 벡터를 잔여 블록과 함께 부호화하여 비트스트림을 출력한다.The
즉, 부호화기(2320)에서 블록 움직임 벡터와 다른 움직임 벡터를 잔여 블록과 함께 부호화하더라도, 후술할 영상 복호화 장치에서 블록 움직임 벡터를 이용하여 화소별 움직임 벡터를 추정할 수 있고 그 추정된 화소별 움직임 벡터와 비트스트림으로부터 복원되는 다른 움직임 벡터를 이용하여 블록 및 화소별 움직임 추정기(1510)에서 추정한 변환 계수별 움직임 벡터를 모두 복원할 수 있으므로, 블록 움직임 벡터와 다른 움직임 벡터만을 부호화하는 것이다. 이를 통해, 블록 및 화소별 움직임 추정기(1510)에서 추정된 많은 개수의 화소별 움직임 벡터를 이용하여 부호화하면서도 해당 움직임 벡터를 영상 복호화 장치에게 알리기 위해서, 블록 움직임 벡터를 이용하여 추정한 변환 계수별 움직임 벡터와 상이한 움직임 벡터를 부호화한 정보만을 전송하면 되므로, 비트스트림의 비트량을 더욱 줄일 수 있어 압축 효율을 향상시킬 수 있다.That is, even if the
도 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
복호화기(2510)는 비트스트림을 복호화하여 현재 블록의 블록 움직임 벡터, 다른 움직임 벡터 및 잔여 블록을 복원한다. 이와 같이 복원된 블록 움직임 벡터는 블록 및 화소별 움직임 보상기(2530)와 화소별 움직임 추정기(2520)로 출력되고, 복원된 다른 움직임 벡터는 블록 및 화소별 움직임 보상기(2530)에 출력되며, 복원된 잔여 블록은 역 양자화기(1730)로 출력된다.The
화소별 움직임 추정기(2520)는 복원된 블록 움직임 벡터를 이용하여 현재 블록의 화소별 움직임 벡터를 추정하여 출력한다. 이와 같이 출력된 화소별 움직임 벡터는 블록 및 화소별 움직임 보상기(2530)로 출력된다.The pixel-by-
블록 및 화소별 움직임 보상기(2530)는 복원된 블록 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소 및 복원된 다른 움직임 벡터와 추정된 변환 계수별 움직임 벡터를 이용하여 현재 블록을 예측하여 생성한 참조 블록의 화소를 이용하여 예측 블록을 생성하고 출력한다.The block and pixel-by-
도 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. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more. In addition, although all of the components may be implemented in one independent hardware, each or all of the components may be selectively combined to perform some or all functions combined in one or a plurality of hardware. It may be implemented as a computer program having a. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program may be stored in a computer readable storage medium and read and executed by a computer, thereby implementing embodiments of the present invention. The storage medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, the terms "comprise", "comprise" or "having" described above mean that the corresponding component may be inherent unless specifically stated otherwise, and thus excludes other components. It should be construed that it may further include other components instead. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art 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 not intended to limit the technical idea of the present invention but to describe 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)
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 true KR20100097286A (en) | 2010-09-03 |
KR101369171B1 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
KR20130095238A (en) * | 2010-10-06 | 2013-08-27 | 에스케이텔레콤 주식회사 | Method and apparatus for image encoding/decoding using high resolution filter |
WO2013191436A1 (en) * | 2012-06-19 | 2013-12-27 | 엘지전자 주식회사 | Method and device for processing video signal |
WO2016068630A1 (en) * | 2014-10-29 | 2016-05-06 | 엘지전자(주) | Method for encoding, decoding video signal and device therefor |
Family Cites Families (4)
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 |
KR100727989B1 (en) * | 2005-10-01 | 2007-06-14 | 삼성전자주식회사 | Method and apparatus for inter-mode decision in video coding |
-
2009
- 2009-02-26 KR KR1020090016159A patent/KR101369171B1/en active IP Right Grant
-
2010
- 2010-02-19 WO PCT/KR2010/001040 patent/WO2010098556A2/en active Application Filing
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130095238A (en) * | 2010-10-06 | 2013-08-27 | 에스케이텔레콤 주식회사 | Method and apparatus for image encoding/decoding using high resolution filter |
KR20140124344A (en) * | 2010-10-06 | 2014-10-24 | 에스케이텔레콤 주식회사 | Method and Apparatus for Image Encoding/Decoding Using High Resolution Filter |
KR20140124345A (en) * | 2010-10-06 | 2014-10-24 | 에스케이텔레콤 주식회사 | Method and Apparatus for Image Encoding/Decoding Using High Resolution Filter |
KR20140125333A (en) * | 2010-10-06 | 2014-10-28 | 에스케이텔레콤 주식회사 | 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 |
WO2013191436A1 (en) * | 2012-06-19 | 2013-12-27 | 엘지전자 주식회사 | Method and device for processing video signal |
US10021417B2 (en) | 2012-06-19 | 2018-07-10 | Lg Electronics Inc. | Method and device for processing video signal |
WO2016068630A1 (en) * | 2014-10-29 | 2016-05-06 | 엘지전자(주) | Method for encoding, decoding video signal and device therefor |
US10051268B2 (en) | 2014-10-29 | 2018-08-14 | Lg Electronics Inc. | Method for encoding, decoding video signal and device therefor |
Also Published As
Publication number | Publication date |
---|---|
WO2010098556A2 (en) | 2010-09-02 |
WO2010098556A3 (en) | 2010-11-25 |
KR101369171B1 (en) | 2014-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101997604B1 (en) | Method and Apparatus for Video Encoding/Decoding | |
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 | |
KR101459714B1 (en) | Motion Vector Coding Method and Apparatus by Using Partitioning Space and Video Coding Method and Apparatus Using Same | |
WO2013002549A2 (en) | Method and apparatus for coding/decoding image | |
KR20100036583A (en) | Motion vector encoding/decoding method and apparatus using multiple motion vector estimation and video encoding/decoding method and apparatus using same | |
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 | |
KR20110054592A (en) | Motion vector coding method and apparatus by using candidate predicted motion vector set selection and video coding method and apparatus using same | |
KR101955374B1 (en) | Method and Apparatus for Image Encoding/Decoding By Fast Coding Unit Mode Decision | |
KR101418104B1 (en) | Motion Vector Coding Method and Apparatus by Using Motion Vector Resolution Combination and Video Coding Method and Apparatus Using Same | |
KR20130051384A (en) | Method and apparatus video encoding and decoding using skip mode | |
KR101369171B1 (en) | Video Coding Apparatus and Method | |
KR20150083826A (en) | A Video Decoding Method and Apparatus Using Inter Prediction | |
WO2012021040A2 (en) | Method and device for encoding/decoding image having removable filtering mode | |
JP4445463B2 (en) | Video re-encoding method and apparatus | |
JP2015516780A (en) | Apparatus and method for estimating the number of bits in a bitstream | |
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 | |
WO2003092302A1 (en) | Moving image transferring system, moving image encoding apparatus, moving image decoding apparatus, and moving image transferring program | |
KR101590493B1 (en) | Method and Apparatus for Encoding and Decoding Video by Using Inter Prediction | |
KR101997655B1 (en) | Method and Apparatus for Image Encoding/Decoding | |
WO2011055908A2 (en) | Method and apparatus for image encoding/decoding using a toolset | |
KR101575616B1 (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 | |
KR20140017695A (en) | Motion vector encoding/decoding method and apparatus using multiple motion vector estimation and video encoding/decoding method and apparatus using same |
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 |