KR20120010738A - Method and Apparatus for Coding Competition-based Interleaved Motion Vector and Method and Apparatus for Encoding/Decoding of Video Data Thereof - Google Patents
Method and Apparatus for Coding Competition-based Interleaved Motion Vector and Method and Apparatus for Encoding/Decoding of Video Data Thereof Download PDFInfo
- Publication number
- KR20120010738A KR20120010738A KR1020100072256A KR20100072256A KR20120010738A KR 20120010738 A KR20120010738 A KR 20120010738A KR 1020100072256 A KR1020100072256 A KR 1020100072256A KR 20100072256 A KR20100072256 A KR 20100072256A KR 20120010738 A KR20120010738 A KR 20120010738A
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- block
- component
- prediction
- current block
- 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/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/124—Quantisation
-
- 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/94—Vector quantisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명의 실시예는 경쟁 기반 인터리브드 움직임 벡터코딩 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 블록 기반 움직임 예측 후에 얻어지는 움직임 벡터(Motion Vector)와 기부호화된 주변 블록의 움직임 벡터 정보를 이용하여 얻은 예측 움직임 벡터(Predictive Motion Vector)와의 차분 정보(Residual)를 효율적으로 압축하여 비디오 데이터 압축의 성능을 더욱 향상시킴으로써 같은 비트율에서 보다 우수한 복원 화질을 얻고자 하는 경쟁 기반 인터리브드 움직임 벡터코딩 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.An embodiment of the present invention relates to a method and apparatus for contention-based interleaved motion vector coding and an image encoding / decoding method using the same. More specifically, by efficiently compressing residual information between a motion vector obtained after block-based motion prediction and a predictive motion vector obtained by using motion vector information of sub-encoded neighboring blocks. The present invention relates to a method and apparatus for contention-based interleaved motion vector coding and a video encoding / decoding method using the same to further improve video data compression performance at the same bit rate.
비디오 데이터의 압축 장치에서 블록 기반 움직임 예측 후에 얻어지는 움직임 벡터의 부호화는 기존의 H.264/AVC에서는 주변 블록의 움직임 벡터들의 중앙값(Median)을 이용하여 예측 움직임 벡터를 결정하고, 여기서 결정된 예측 움직임 벡터와 현재블록의 움직임 벡터의 차이만을 가변 길이 부호화(Variable Length Coding)함으로써 수행되었다. The encoding of a motion vector obtained after block-based motion prediction in a video data compression apparatus determines a predictive motion vector using median of motion vectors of neighboring blocks in H.264 / AVC. Only the difference between the motion vector of the current block and the current block is performed by variable length coding.
최근 ITU-T VCEG(Video Coding Expert Group)과 ISO/IEC MPEG(Moving Picture Coding Group)의 1차 JCT-VC(Joint Collaborate Team for Video Coding) 회의에서 움직임 벡터를 효율적으로 부호화하기 위해 움직임 벡터의 예측을 가로 방향(x축)과 세로 방향(y축)으로 분할하여 y축의 움직임 벡터를 예측하고 y축의 움직임 벡터 예측 정보를 기반으로 x축의 움직임 벡터를 압축하는 인터리브드 움직임 벡터 코딩 기법이 제안되었다.Prediction of motion vectors to efficiently encode motion vectors at the first Joint Collaborate Team for Video Coding (JCT-VC) meetings of the recent ITU-T Video Coding Expert Group (VCEG) and ISO / IEC Moving Picture Coding Group (MPEG) An interleaved motion vector coding technique has been proposed that predicts a motion vector on the y-axis by dividing the signal into a horizontal direction (x-axis) and a vertical direction (y-axis) and compresses the motion vector of the x-axis based on the motion vector prediction information of the y-axis.
인터리브드 움직임 벡터 코딩 방식은 현재 부호화하고자 하는 블록의 y축 움직임 벡터를 현재블록의 주변 블록의 y축 움직임 벡터들의 중앙값(median)과의 차분으로 예측을 하고, 주변 블록의 y축 움직임 벡터 중에서 현재 블록의 y축 예측 움직임 벡터와 가장 가까운 값을 갖는 주변 블록을 찾아 그 블록의 x축 움직임 벡터와 현재 블록의 x축 움직임 벡터를 차분하여 이를 부호화 함으로써 압축 성능의 개선을 이루었다.The interleaved motion vector coding method predicts the y-axis motion vector of the block to be currently encoded by the difference from the median of the y-axis motion vectors of the neighboring blocks of the current block, and among the y-axis motion vectors of the neighboring blocks. The compression performance is improved by finding a neighboring block having a value closest to the y-axis predicted motion vector of the block and differentially encoding the x-axis motion vector of the block and the x-axis motion vector of the current block.
하지만, 객체의 움직임 변화나 배경과 객체 간 경계의 불연속성에 의해서 발생하는 움직임 벡터 간의 불규칙성에 의해 y축의 움직임 벡터와 x축의 움직임 벡터 간의 상관성이 떨어지는 경우에는 인터리브드 코딩 방식은 부호화 성능이 의도된 대로 성능을 제공할 수 없는 문제점이 있다.However, when the correlation between the motion vector on the y-axis and the motion vector on the x-axis is inferior due to the irregularity between the motion vectors caused by the motion change of the object or the discontinuity of the boundary between the object and the object, the interleaved coding method is used as the encoding performance is intended. There is a problem that cannot provide performance.
이러한 문제점을 해결하기 위해 본 발명의 실시예는, 블록 기반 움직임 예측 후에 얻어지는 움직임 벡터와 기부호화된 주변 블록의 움직임 벡터 정보를 이용하여 얻은 예측 움직임 벡터와의 차분 정보(Residual)를 효율적으로 압축하여 비디오 데이터 압축의 성능을 더욱 향상시킴으로써 같은 비트율에서 더 우수한 복원 화질을 얻는데 주된 목적이 있다.In order to solve this problem, an embodiment of the present invention efficiently compresses residual information between a motion vector obtained after block-based motion prediction and a predicted motion vector obtained by using motion vector information of a base coded neighboring block. The main objective is to further improve the performance of video data compression to obtain better reconstructed picture quality at the same bit rate.
전술한 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화/복호화하는 장치에 있어서, 상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하고, 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하고, 상기 잔여 블록을 변환 및 양자화하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 상기 예측블록집합 후보 중 어느 하나의 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분 및 후순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화하는 영상 부호화기; 및 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호하고, 복호된 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 복호된 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 예측블록집합을 이용하여 예측움직임 벡터의 후순위성분을 산출하여 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하고 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고, 복원되는 잔여 블록과 상기 예측 블록을 가산하여 현재 블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치를 제공한다.In order to achieve the above object, an embodiment of the present invention provides a device for encoding / decoding an image, generating a motion compensation block and a motion vector generated by estimating and compensating for a motion of a current block of the image, Subtract the current block and the motion compensation block to generate a residual block, transform and quantize the residual block, determine a priority component and a subordinate component according to the correlation of the components of the motion vector of the neighboring blocks of the current block, and Competitively calculates the priority component of the prediction motion vector using a prediction block set candidate, calculates the priority component of the prediction motion vector using the prediction block set of any one of the prediction block set candidates, and calculates the priority component of the prediction motion vector. And a priority component and a subordinate component of the motion vector of the current block and the subordinate component An image encoder for encoding the difference value with each other; And decode the encoded data to decode the information about the transformed and quantized residual block, the residual motion vector, and the optimal prediction block set, and inversely quantize and inverse transform the decoded transform and the quantized residual block to restore the residual block. The priority component and the subordinate component are determined according to the correlation of the components of the motion vector of the neighboring block of the current block, and the information of the decoded optimal prediction block set is used to calculate the priority component of the prediction motion vector and the predetermined prediction block set. Calculate the subordinate component of the predictive motion vector by using, add the predicted motion vector and the decoded residual motion vector to restore the motion vector of the current block, and predict the current block using the reconstructed motion vector of the current block. Generate a prediction block, add the residual block to be recovered and the prediction block to An image encoding / decoding apparatus comprising an image decoder for reconstructing a block is provided.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화하는 장치에 있어서, 상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하는 예측기; 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하는 감산기; 상기 잔여 블록을 변환 및 양자화하는 변환 및 양자화기; 및 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 상기 예측블록집합 후보 중 어느 하나의 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분 및 후순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화하는 부호화기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.Further, to achieve another object of the present invention, an embodiment of the present invention, in the apparatus for encoding an image, generating a motion compensation block and a motion vector generated by estimating and compensating for the motion of the current block of the image Predictor; A subtractor for generating a residual block by subtracting the current block and the motion compensation block; A transform and quantizer for transforming and quantizing the residual block; And determining the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, and competitively calculating the priority component of the prediction motion vector using a preset prediction block set candidate, and among the prediction block set candidates. A subordinate component of the predictive motion vector is calculated by using any one predictive block set, and the difference value between the priority component and the subordinate component of the predictive motion vector and the priority component and the subordinate component of the motion vector of the current block are respectively encoded. It provides an image encoding apparatus comprising an encoder.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 복호화하는 장치에 있어서, 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호하는 복호화기; 상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하는 역양자화 및 역변환기; 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 상기 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 후순위 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하여 상기 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하는 예측기; 및 상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산기를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.In addition, to achieve another object of the present invention, an embodiment of the present invention, in the apparatus for decoding an image, decoding the encoded data for the transformed and quantized residual block, residual motion vector and the optimal prediction block set A decoder for decoding the information; An inverse quantization and inverse transformer for reconstructing the residual block by inverse quantization and inverse transformation of the transformed and quantized residual block; Determine the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, calculate the priority component of the predictive motion vector by using the information about the optimal prediction block set, and set the predetermined subordinate prediction block set A subordinate component of the predictive motion vector is calculated by adding the calculated predicted motion vector and the decoded residual motion vector to restore the motion vector of the current block, and uses the reconstructed motion vector of the current block. A predictor for predicting a current block to generate a predicted block; And an adder for reconstructing the current block by adding the reconstructed residual block and the prediction block.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 움직임벡터 코딩 장치에 있어서, 현재 블록의 주변블록의 움직임 벡터의 x 성분간의 상관도 및 y 성분간의 상관도에 따라 상기 현재 블록의 움직임 벡터의 x 성분 및 y 성분 중에서 상기 현재 블록의 움직임 벡터의 선순위성분 및 상기 현재 블록의 움직임 벡터의 후순위성분을 결정하는 예측순서 결정부; 기설정된 예측블록집합 후보의 움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분으로부터 최적의 예측블록집합을 선택하고 상기 최적의 예측블록집합에 대한 정보를 발생하는 예측블록 선택부; 상기 최적의 예측블록집합으로부터 예측움직임 벡터의 선순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분과의 차분값인 선순위 차분값을 산출하는 선순위 예측부; 기설정된 후순위 예측블록집합으로부터 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 후순위성분과 상기 현재 블록의 움직임 벡터의 후순위성분과의 차분값인 후순위 차분값을 산출하는 후순위 예측부; 및 상기 최적의 예측블록집합에 대한 정보 및 상기 선순위 차분값과 상기 후순위 차분값을 부호화하는 움직임정보 부호화부를 포함하는 것을 특징으로 하는 움직임벡터 코딩 장치를 제공한다.In addition, to achieve another object of the present invention, an embodiment of the present invention, in the motion vector coding apparatus, according to the correlation between the x component and the y component of the motion vector of the neighboring block of the current block A prediction order determiner configured to determine a priority component of the motion vector of the current block and a subordinate component of the motion vector of the current block among x and y components of the motion vector of the block; A prediction block selection unit which selects an optimal prediction block set from a priority component of a motion vector of a predetermined prediction block set candidate and a priority component of the motion vector of the current block and generates information on the optimal prediction block set; A priority prediction unit calculating a priority component of a prediction motion vector from the optimal prediction block set and calculating a priority difference value that is a difference value between a priority component of the prediction motion vector and a priority component of the motion vector of the current block; A subordinate priority predicting unit calculating a subordinated component of the prediction motion vector from a preset subordinated prediction block set and calculating a subordinated difference value which is a difference value between a subordinated component of the predicted motion vector and a subordinated component of the motion vector of the current block; And a motion information encoder for encoding the information on the optimal prediction block set, the priority difference value, and the subordinate difference value.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화/복호화하는 방법에 있어서, 상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하고, 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하고, 상기 잔여 블록을 변환 및 양자화하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 상기 예측블록집합 후보 중 어느 하나의 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분 및 후순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화하는 단계; 및 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호하고, 복호된 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 복호된 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 예측블록집합을 이용하여 예측움직임 벡터의 후순위성분을 산출하여 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하고 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고, 복원되는 잔여 블록과 상기 예측 블록을 가산하여 현재 블록을 복원하는 단계를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법을 제공한다.In addition, in order to achieve another object of the present invention, an embodiment of the present invention, in a method of encoding / decoding an image, a motion compensation block and a motion vector generated by estimating and compensating for the motion of the current block of the image Generate a residual block by subtracting the current block and the motion compensation block, transform and quantize the residual block, and generate a priority component and a subordinate component according to a correlation between components of a motion vector of a neighboring block of the current block. Determine and competitively calculate a priority component of a prediction motion vector using a predetermined prediction block set candidate, calculate a subordinate component of the prediction motion vector using the prediction block set of any one of the prediction block set candidates, and predict the motion. Priority component and subordinate component of vector and priority component of motion vector of current block And encoding difference values with subordinate components, respectively. And decode the encoded data to decode the information about the transformed and quantized residual block, the residual motion vector, and the optimal prediction block set, and inversely quantize and inverse transform the decoded transform and the quantized residual block to restore the residual block. The priority component and the subordinate component are determined according to the correlation of the components of the motion vector of the neighboring block of the current block, and the information of the decoded optimal prediction block set is used to calculate the priority component of the prediction motion vector and the predetermined prediction block set. Calculate the subordinate component of the predictive motion vector by using, add the predicted motion vector and the decoded residual motion vector to restore the motion vector of the current block, and predict the current block using the reconstructed motion vector of the current block. Generate a prediction block, add the residual block to be recovered and the prediction block to It provides a video encoding / decoding method comprising the step of reconstructing the block.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화하는 방법에 있어서, 상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하는 예측단계; 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하는 감산단계; 상기 잔여 블록을 변환 및 양자화하는 변환 및 양자화단계; 및 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 상기 예측블록집합 후보 중 어느 하나의 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분 및 후순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화하는 부호화단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.In addition, to achieve another object of the present invention, an embodiment of the present invention, in a method of encoding an image, generating a motion compensation block and a motion vector generated by estimating and compensating the motion of the current block of the image; Prediction step; Subtracting the current block and the motion compensation block to generate a residual block; A transform and quantization step of transforming and quantizing the residual block; And determining the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, and competitively calculating the priority component of the prediction motion vector using a preset prediction block set candidate, and among the prediction block set candidates. A subordinate component of the predictive motion vector is calculated by using any one predictive block set, and the difference value between the priority component and the subordinate component of the predictive motion vector and the priority component and the subordinate component of the motion vector of the current block are respectively encoded. It provides a video encoding method comprising the encoding step.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 복호화하는 방법에 있어서, 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호하는 복호화단계; 상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하는 역양자화 및 역변환단계; 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 상기 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 후순위 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하여 상기 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하는 예측단계; 및 상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.In addition, to achieve another object of the present invention, an embodiment of the present invention, in a method of decoding an image, for decoding and encoding the encoded data for the residual block, residual motion vector and the optimal prediction block set A decoding step of decoding the information; Inverse quantization and inverse transformation for restoring the residual block by inverse quantization and inverse transformation of the transformed and quantized residual block; Determine the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, calculate the priority component of the predictive motion vector by using the information about the optimal prediction block set, and set the predetermined subordinate prediction block set A subordinate component of the predictive motion vector is calculated by adding the calculated predicted motion vector and the decoded residual motion vector to restore the motion vector of the current block, and uses the reconstructed motion vector of the current block. A prediction step of predicting a current block to generate a prediction block; And an addition step of reconstructing the current block by adding the reconstructed residual block and the prediction block.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 움직임벡터 코딩 방법에 있어서, 현재 블록의 주변블록의 움직임 벡터의 x 성분간의 상관도 및 y 성분간의 상관도에 따라 상기 현재 블록의 움직임 벡터의 x 성분 및 y 성분 중에서 상기 현재 블록의 움직임 벡터의 선순위성분 및 상기 현재 블록의 움직임 벡터의 후순위성분을 결정하는 예측순서 결정단계; 기설정된 예측블록집합 후보의 움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분으로부터 최적의 예측블록집합을 선택하고 상기 최적의 예측블록집합에 대한 정보를 발생하는 예측블록 선택단계; 상기 최적의 예측블록집합으로부터 예측움직임 벡터의 선순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분과의 차분값인 선순위 차분값을 산출하는 선순위 예측단계; 기설정된 후순위 예측블록집합으로부터 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 후순위성분과 상기 현재 블록의 움직임 벡터의 후순위성분과의 차분값인 후순위 차분값을 산출하는 후순위 예측단계; 및 상기 최적의 예측블록집합에 대한 정보 및 상기 선순위 차분값과 상기 후순위 차분값을 부호화하는 움직임정보 부호화단계를 포함하는 것을 특징으로 하는 움직임벡터 코딩 방법을 제공한다.Further, in order to achieve another object of the present invention, an embodiment of the present invention, in the motion vector coding method, according to the correlation between the x component and the y component of the motion vector of the neighboring block of the current block A prediction order determining step of determining a priority component of the motion vector of the current block and a subordinate component of the motion vector of the current block among x and y components of the motion vector of the block; A prediction block selection step of selecting an optimal prediction block set from a priority component of a motion vector of a predetermined prediction block set candidate and a priority component of the motion vector of the current block and generating information on the optimal prediction block set; A priority prediction step of calculating a priority component of a prediction motion vector from the optimal prediction block set and calculating a priority difference value that is a difference value between a priority component of the prediction motion vector and a priority component of the motion vector of the current block; A subordinated prediction step of calculating a subordinated component of the prediction motion vector from a preset subordinated prediction block set and calculating a subordinated difference value which is a difference value between a subordinated component of the predicted motion vector and a subordinated component of the motion vector of the current block; And a motion information encoding step of encoding the information on the optimal prediction block set, the priority difference value, and the subordinate difference value.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 블록 기반 움직임 예측 후에 얻어지는 움직임 벡터와 기부호화된 주변 블록의 움직임 벡터 정보를 이용하여 얻은 예측 움직임 벡터와의 차분 정보(Residual)를 효율적으로 압축하여 비디오 데이터 압축의 성능을 더욱 향상시킴으로써 같은 비트율에서 보다 우수한 복원 화질을 얻는 효과가 있다.As described above, according to an embodiment of the present invention, by efficiently compressing residual information between a motion vector obtained after block-based motion prediction and a predicted motion vector obtained by using motion vector information of a base coded neighboring block. By further improving the performance of video data compression, there is an effect of obtaining better reconstructed picture quality at the same bit rate.
도 1은 본 발명의 일 실시예에 따른 움직임벡터 코딩 장치(100)를 도시한 블록도이다.
도 2는 현재블록(E) 및 주변블록(A, B, C)를 도시한 도면이다.
도 3은 기설정된 예측블록집합 후보의 한 예로서 주변블록의 인접블록을 도시한 도면이다.
도 4는 기설정된 예측블록집합 후보의 또다른 예로서 현재 블록의 전방참조픽쳐 내의 동일위치블록을 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
도 6은 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
도 7은 본 발명의 일 실시예에 따른 움직임벡터 코딩 방법을 도시한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 영상 부호화 방법을 도시한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 영상 복호화 방법을 도시한 흐름도이다.1 is a block diagram illustrating a motion vector coding apparatus 100 according to an embodiment of the present invention.
2 is a diagram illustrating a current block E and neighboring blocks A, B, and C.
3 is a diagram illustrating neighboring blocks of neighboring blocks as an example of a preset prediction block set candidate.
4 is a diagram illustrating a co-located block in a forward reference picture of a current block as another example of a preset prediction block set candidate.
5 is a block diagram schematically illustrating a video encoding apparatus according to an embodiment of the present invention.
6 is a block diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
7 is a flowchart illustrating a motion vector coding method according to an embodiment of the present invention.
8 is a flowchart illustrating an image encoding method according to an embodiment of the present invention.
9 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.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 used to refer to the same components as much as possible even if displayed on 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 to or connected to that other component, but there may be another configuration between each component. It is to be understood that the elements may be "connected", "coupled" or "connected".
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone) 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.A video encoding apparatus (Video Encoding Apparatus), a video decoding apparatus (Video Decoding Apparatus) to be described below is a personal computer (PC), notebook computer, personal digital assistant (PDA), portable multimedia player (PMP) : User terminal such as Portable Multimedia Player (PSP), PlayStation Portable (PSP: PlayStation Portable), Wireless Communication Terminal, Smart Phone, or a server terminal such as an application server or a service server. Or a communication device such as a communication modem for communicating with a wired / wireless communication network, a memory for storing various programs and data for encoding or decoding an image, inter or intra prediction for encoding or decoding, and executing and operating a program. With microprocessors It can mean one device.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(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 through various communication interfaces such as a serial bus, and may be decoded by the image decoding apparatus to restore and reproduce the image.
통상적으로 동영상은 일련의 픽처(Picture)로 구성될 수 있으며, 각 픽처들은 프레임 또는 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류될 수 있다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임(Reference Frame)이라고 한다.In general, a video may be composed of a series of pictures, and each picture may be divided into a predetermined area such as a frame or a block. When a region of an image is divided into blocks, the divided blocks may be classified into intra blocks and inter blocks according to an encoding method. An intra block refers to a block that is encoded by using an intra prediction coding method. An intra prediction coding is performed by using pixels of blocks previously encoded, decoded, and reconstructed in a current picture that performs current encoding. A prediction block is generated by predicting pixels of a block and a difference value with pixels of the current block is encoded. An inter block refers to a block that is encoded using inter prediction coding. Inter prediction coding generates a prediction block by predicting a current block within a current picture by referring to one or more past or future pictures, and then generates a current block. This is a method of encoding the difference value with. Here, a frame referred to for encoding or decoding the current picture is referred to as a reference frame.
도 1은 본 발명의 일 실시예에 따른 움직임벡터 코딩 장치(100)를 도시한 블록도이다.1 is a block diagram illustrating a motion vector coding apparatus 100 according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 움직임벡터 코딩 장치(100)는 예측순서 결정부(110), 예측블록 선택부(120), 선순위 예측부(130), 후순위 예측부(140) 및 움직임정보 부호화부(150)를 포함한다.The motion vector coding apparatus 100 according to an embodiment of the present invention includes a
예측순서 결정부(110)는 현재 블록의 주변블록의 움직임 벡터(MV)의 x 성분간의 상관도 및 y 성분간의 상관도에 따라 현재 블록의 움직임 벡터의 x 성분 및 y 성분 중에서 현재 블록의 움직임 벡터의 선순위성분 및 현재 블록의 움직임 벡터의 후순위성분을 결정한다.The
예측블록 선택부(120)는 기설정된 예측블록집합 후보의 움직임 벡터의 선순위성분과 현재 블록의 움직임 벡터의 선순위성분으로부터 최적의 예측블록집합을 선택하고 최적의 예측블록집합에 대한 정보를 발생한다.The
선순위 예측부(130)는 최적의 예측블록집합으로부터 예측움직임 벡터의 선순위성분을 산출하고 예측움직임 벡터의 선순위성분과 현재 블록의 움직임 벡터의 선순위성분과의 차분값인 선순위 차분값을 산출한다.The
후순위 예측부(140)는 기설정된 후순위 예측을 위한 예측블록집합(후순위 예측블록집합)으로부터 예측움직임 벡터의 후순위성분을 산출하고 예측움직임 벡터의 후순위성분과 현재 블록의 움직임 벡터의 후순위성분과의 차분값인 후순위 차분값을 산출한다.The
움직임정보 부호화부(150)는 최적의 예측블록집합에 대한 정보 및 선순위 차분값과 후순위 차분값을 부호화한다.The
도 2는 현재블록(E) 및 주변블록(A, B, C)을 도시한 도면이다.2 is a diagram illustrating a current block E and neighboring blocks A, B, and C. Referring to FIG.
예측순서 결정부(110)는 현재 블록의 주변블록(A, B, C)의 움직임 벡터의 x 성분간의 상관도와 y 성분간의 상관도를 구한다. 이때, 구한 상관도에 따라 현재 블록의 움직임 벡터의 x 성분 및 y 성분 중에서 현재 블록의 움직임 벡터의 선순위성분 및 현재 블록의 움직임 벡터의 후순위성분을 결정한다. 여기서 현재 블록의 움직임 벡터의 선순위성분은 경쟁적으로 움직임벡터 성분을 예측하고 후순위성분은 기설정된 후순위예측을 위한 블록(또는 블록의 집합)에서 움직임벡터 성분을 예측한다. 여기서 경쟁적이란 말의 의미는 여러 예측블록집합들 중에서 최적의 예측움직임벡터의 성분을 추출할 수 있는 움직임블록집합을 선택하는 것을 의미한다.The
여기서, 상관도는 현재 블록의 주변블록의 움직임 벡터의 각 성분에 대한 분산값을 이용하여 구할 수 있다. 도 2의 경우와 같은 주변 블록 A, B, C의 움직임 벡터의 x 성분에 대한 분산값을 구하고, 주변 블록 A, B, C의 움직임 벡터의 y 성분에 대한 분산값을 구한다. 이때, 현재 블록의 움직임 벡터의 선순위성분은 움직임 벡터의 x 성분에 대한 분산값과 움직임 벡터의 y 성분에 대한 분산값 중에서 분산값이 큰 성분이 선택될 수 있다. 분산값이 크다는 것은 상관도가 낮다는 의미가 될 수 있으므로, 이 경우에는 주변블록의 움직임 벡터들만으로부터 예측 움직임 벡터를 구하지 않고 다른 후보 블록들을 포함하여 여러 후보 블록들 중에서 구할 수 있다.In this case, the correlation may be obtained using a variance of each component of the motion vector of the neighboring block of the current block. The variance of the x component of the motion vectors of the neighboring blocks A, B, and C as in the case of FIG. 2 is obtained, and the variance of the y component of the motion vectors of the neighboring blocks A, B, and C is obtained. In this case, a component having a large variance value may be selected from a variance value of the motion vector of the current block and a variance value of the y component of the motion vector. Since a large variance value may mean a low correlation, in this case, the prediction motion vector may be obtained from several candidate blocks including other candidate blocks instead of only the motion vectors of the neighboring blocks.
본 실시예에서 분산값이 낮은 예측 움직임 벡터의 성분을 선순위성분으로 결정하는 방법을 사용하나, 실시예에 따라서는 분산값이 높은 예측 움직임 벡터의 성분을 선순위성분으로 결정하는 방법을 사용할 수도 있다. 또한, 본 실시예에서 분산값의 대소에 따라 예측 움직임 벡터의 성분을 선순위성분, 후순위성분을 결정하였으나, 실시예에 따라서는 분산값 대신 표준편차 등 다양한 방법을 사용할 수도 있다.In this embodiment, a method of determining a component of a prediction motion vector having a low variance as a priority component may be used. However, according to an embodiment, a method of determining a component of a prediction motion vector having a high variance as a priority component may be used. Also, in the present exemplary embodiment, the priority component and the subordinate component are determined as components of the predicted motion vector according to the magnitude of the variance value. However, in some embodiments, various methods such as standard deviation may be used instead of the variance value.
이하의 설명에서는 선순위성분으로 y축성분, 후순위성분으로 x축성분이 선택되었다고 가정하고 설명한다.In the following description, it is assumed that the y-axis component and the x-axis component are selected as the priority component.
기설정된 예측블록집합 후보의 한 예로서 도 2에 도시한 현재블록의 주변블록의 집합 이외에, 도 3은 기설정된 예측블록집합 후보의 다른 한 예로서 주변블록의 이웃블록을 도시한 도면이고, 도 4는 기설정된 예측블록집합 후보의 또다른 예로서 현재 블록의 전방참조픽쳐(L0) 내의 동일위치블록을 도시한 도면이다. 도 3에서 A의 이웃블록은 AA, AB, AC이며, B의 이웃블록은 BA, BB, BC이며, C의 이웃블록은 CA, CB, CC이다.In addition to the set of neighboring blocks of the current block shown in FIG. 2 as an example of the preset prediction block set candidate, FIG. 3 is a diagram illustrating neighboring blocks of the neighboring block as another example of the preset prediction block set candidate. 4 illustrates another co-located block in the forward reference picture L0 of the current block as another example of the preset prediction block set candidate. In FIG. 3, neighboring blocks of A are AA, AB, and AC, neighboring blocks of B are BA, BB, and BC, and neighboring blocks of C are CA, CB, and CC.
예측블록 선택부(120)는 다수의 기설정된 예측블록집합 후보의 움직임 벡터의 선순위성분과 현재 블록의 움직임 벡터의 선순위성분으로부터 최적의 예측블록집합을 선택한다.The
여기서 예측블록집합 후보는 반드시 복수의 블록으로 구성되지는 않으며 하나의 블록일 수도 있다.Here, the prediction block set candidate is not necessarily composed of a plurality of blocks but may be one block.
예를 들어, 도 2에서 주변블록 A, B, C가 각각 예측블록집합 후보가 될 수 있다. 만일, 예측블록집합 후보 중에서 현재 블록의 움직임벡터의 선순위성분(y축성분)과 가장 차이가 적은 y축성분을 갖는 예측블록집합 후보를 최적의 예측블록집합으로 선택하는 경우를 예를 들 수 있다. 만일, 예측블록집합 후보가 도 2와 같은 주변블록 현재 블록의 주변블록인 A, B, C 각각과 도 3과 같은 주변블록 A, B, C의 이웃블록 각각과 도 4와 같은 전방참조픽처의 동일위치블록이 예측블록집합 후보로 각각 기설정되었다고 가정할 경우, 기설정된 예측블록집합 후보(여기서는 각각의 개별 블록) 모두에 대하여 현재 블록의 움직임벡터의 선순위성분(y축성분)과 가장 차이가 적은 예측블록집합 후보를 구하여 최적의 예측블록집합으로 설정할 수 있다.For example, neighboring blocks A, B, and C may be candidate prediction block sets in FIG. 2. For example, a prediction block set candidate having the y-axis component having the smallest difference from the priority component (y-axis component) of the motion vector of the current block among the prediction block set candidates may be selected. . If the prediction block set candidate is each of the neighboring blocks A, B and C of the neighboring block current block as shown in FIG. 2 and neighboring blocks of the neighboring blocks A, B and C shown in FIG. 3 and the forward reference picture as shown in FIG. Assuming that the same position blocks are preset as the prediction block set candidates, for all of the predetermined prediction block set candidates (in this case, each individual block), the difference between the priority component (y-axis component) of the motion vector of the current block is the most different. A small prediction block set candidate can be obtained and set as an optimal prediction block set.
한편, 예측블록 선택부(120)가 도 2, 도 3 및 도 4의 모든 예측블록집합의 단위블록에 대하여 현재 블록의 움직임벡터의 선순위성분(y축성분)과 가장 차이가 적은 선순위성분(y축성분)의 움직임벡터를 갖는 블록을 최적의 예측블록집합으로 설정하였으나, 본 발명이 이에 한정되지는 않고 복수의 블록이 예측블록집합이 될 수 있으며 이들로부터 최적의 예측블록집합을 설정할 수 있다. 예를 들어, 도 2의 A, B, C의 움직임벡터의 선순위성분(y축성분)의 중간값, 도 3의 A, B, C의 이웃블록의 움직임벡터의 선순위성분(y축성분)의 중간값, 도 4의 동일위치블록의 주변블록의 움직임벡터의 선순위성분(y축성분)의 중간값 중에서 현재 블록의 움직임벡터의 선순위성분(y축성분)과 가장 차이가 적은 경우의 예측블록집합을 최적의 예측블록집합으로 설정할 수도 있다(예를 들어, 현재블록의 주변블록의 집합(A, B, C)이 최적의 예측블록집합으로 선택될 수도 있다.). 이하의 설명에서는 모든 예측블록집합이 단위블록으로 구성되는 경우에 대하여 현재 블록의 움직임벡터의 선순위성분(y축성분)과 가장 차이가 적은 선순위성분(y축성분)의 움직임벡터를 갖는 블록을 최적의 예측블록집합으로 설정하는 경우를 예로 들어 설명한다.On the other hand, the
예측블록 선택부(120)는 예측블록집합을 설정한 후, 최적의 예측블록집합에 대한 정보를 발생하여 선순위 예측부(130) 및 움직임정보 부호화부(150)로 전송한다.After the
선순위 예측부(130)는 예측블록 선택부(120)에서 발생한 최적의 예측블록집합에 대한 정보를 수신하여 최적의 예측블록집합의 움직임 벡터의 y축성분을 예측움직임 벡터의 선순위성분(y성분)으로 산출하고, 산출한 예측움직임 벡터의 선순위성분(y성분)과 현재 블록의 움직임 벡터의 선순위성분과의 차분값인 선순위 차분값을 산출하여 부호화부(150)로 전송한다.The
후순위 예측부(140)는 예측순서 결정부(110)로부터 후순위성분에 대한 정보를 수신하고 기설정된 후순위 예측블록집합으로부터 예측움직임 벡터의 후순위성분(x축 성분)을 산출한다. 여기서 예측움직임 벡터의 후순위성분(x축 성분)을 산출할 때 사용하는 기설정된 후순위 예측블록집합으로는 도 2의 주변블록(A, B, C)인 것으로 가정한다. 이때, 예측움직임 벡터의 후순위성분(x축 성분)을 산출할 때 주변블록(A, B, C)의 후순위성분들의 중간값을 취하는 방법을 사용할 수 있다. 여기에서 예측움직임 벡터의 후순위성분(x축 성분)을 산출할 때 주변블록(A, B, C)의 후순위성분들의 중간값을 취하는 방법 이외에도 주변블록(A, B, C)의 후순위성분들 중에서 최저값을 사용하는 등의 다양한 방법을 사용할 수도 있다.The
후순위 예측부(140)는 예측움직임 벡터의 후순위성분(x축 성분)을 산출한 후, 예측움직임 벡터의 후순위성분과 현재 블록의 움직임 벡터의 후순위성분과의 차분값인 후순위 차분값을 발생한다.After calculating the subordinate component (x-axis component) of the predictive motion vector, the
움직임정보 부호화부(150)는 선순위 예측부(130)로부터 선순위 차분값과 후순위 예측부(140)로부터 후순위 차분값을 수신하여 최적의 예측블록집합에 대한 정보 및 선순위 차분값과 후순위 차분값을 부호화한다.The
여기서, 움직임정보 부호화부(150)는 최적의 예측블록집합에 대한 정보는 영상 복호화기와 약속된 소정의 비트를 이용하여 발생한다.Here, the
도 5는 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.5 is a block diagram schematically illustrating a video encoding apparatus according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 부호화 장치(500)는 예측기(Predictor, 510), 감산기(Subtractor, 520), 변환 및 양자화기(Transformer and Quantizer, 530), 스캐너(Scanner, 540), 부호화기(Encoder, 550), 역양자화 및 역변환기(Inverse Quantizer and Transformer, 560), 가산기(Adder, 570) 및 필터(Filter, 580)를 포함하여 구성될 수 있다. The image encoding apparatus 500 according to an embodiment of the present invention may include a
부호화하고자 하는 입력 영상은 블록 단위로 입력될 수 있는데, 블록은 매크로블록(Macroblock)이 될 수 있다. 본 발명의 일 실시예에서, 매크로블록의 형태는 P×Q(단, P는 2m(m은 1 이상의 정수), Q는 2n(단, n은 1 이상의 정수)의 값을 가지는 자연수) 등의 다양한 형태일 수 있다. 또한, 부호화할 프레임마다 다른 형태의 블록을 이용할 수 있으며, 매크로블록의 형태가 P×Q 등 다양한 형태인 경우에 이에 대한 정보인 블록 타입에 대한 정보를 각 프레임마다 부호화하여, 영상 복호화 장치에서 부호화된 데이터를 복호화할 때 복호화할 프레임의 블록의 형태를 결정하도록 할 수 있다. 어떠한 형태의 블록을 이용할지에 대한 결정은 현재 프레임을 다양한 형태의 블록으로 부호화하여 최적의 효율을 내는 블록의 형태를 선택하거나, 프레임의 특성을 분석하여 분석된 특성에 따라 블록의 형태를 선택할 수 있으며, 이를 위해, 영상 부호화 장치(500)는 블록 타입을 결정하고 블록 타입에 대한 정보를 부호화하여 부호화 데이터에 포함시키는 블록 타입 결정기(미도시)를 추가로 포함하여 구성될 수 있다.The input image to be encoded may be input in units of blocks, and the block may be a macroblock. In an embodiment of the present invention, the shape of the macroblock is P × Q, where P is 2 m (m is an integer of 1 or more), and Q is 2 n (where n is an integer of 1 or more). It may be in various forms such as. In addition, different types of blocks may be used for each frame to be encoded, and when a macroblock has various forms such as P × Q, information about a block type, which is information about this, is encoded for each frame and encoded by the image decoding apparatus. When decoding the decoded data, the shape of the block of the frame to be decoded may be determined. Determination of which type of block to use can be made by selecting the type of block that has the best efficiency by encoding the current frame into various types of blocks, or by selecting the type of block according to the analyzed characteristics by analyzing the characteristics of the frame. For this purpose, the image encoding apparatus 500 may further include a block type determiner (not shown) which determines the block type and encodes information on the block type in the encoded data.
예측기(510)는 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성한다. 즉, 예측기(510)는 영상에서 부호화하고자 하는 현재 블록의 각 화소의 화소값(Pixel Value)을 예측하여 예측된 각 화소의 예측 화소값(Predicted Pixel Value)을 갖는 예측 블록(Predicted Block)을 생성한다. 여기서, 예측기(510)는 인트라 예측 또는 인터 예측을 이용하여 현재 블록을 예측할 수 있다. 인터 예측의 경우에는 움직임 벡터도 생성한다.The
감산기(520)는 현재 블록과 예측 블록을 감산하여 잔여 블록(Residual Block)을 생성한다. 즉, 감산기(520)는 부호화하고자 하는 현재 블록의 각 화소의 화소값과 예측기(510)에서 예측한 예측 블록의 각 화소의 예측 화소값의 차이를 계산하여 블록 형태의 잔여 신호(Residual Signal)를 갖는 잔여 블록을 생성한다.The
변환 및 양자화기(530)가 잔여 블록을 변환 및 양자화할 때, 양자화 과정에 변환 과정이 포함되어 있기 때문에 양자화가 완료되어야만 변환도 완료된다. 여기서, 변환 방식으로는 하다마드 변환(Hadamard Transform), 이산 코사인 트랜스폼 기반의 정수 변환(Discrete Cosine Transform Based Integer Transform, 이하 '정수 변환'이라고 약칭함) 등과 같은 공간 영역의 영상 신호를 주파수 영역으로 변환하는 기법이 이용될 수 있으며, 양자화 방식으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등과 같은 다양한 양자화 기법이 이용될 수 있다.When the transform and
스캐너(540)는 변환 및 양자화기(530)에 의해 변환 및 양자화된 잔여 블록의 양자화 변환 계수들을 스캐닝(Scanning)하여 양자화 변환 계수열을 생성한다. 이때, 스캐닝 방식은 변환 기법, 양자화 기법, 블록(매크로블록 또는 서브블록)의 특성을 고려하며, 스캐닝 순서는 스캐닝한 양자화 변환 계수열이 최소의 길이가 되도록 결정될 수 있다. 도 5에서는 스캐너(540)가 부호화기(550)와 독립적으로 구현되는 것으로 도시하고 설명하지만, 스캐너(540)는 생략되어 그 기능이 부호화기(550)에 통합될 수 있다.The
부호화기(550)는 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 예측블록집합 후보 중 어느 하나의 예측블록집합(즉, 후순위 예측블록집합일 수 있음)을 이용하여 예측움직임 벡터의 후순위성분을 산출하고 산출된 예측움직임 벡터의 선순위성분 및 후순위성분과 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화화한다. The
부호화기(550)에서 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보들을 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 예측블록집합 후보 중 어느 하나의 예측블록집합(즉, 예측블록집합들 중에서 어느 하나가 후순위 예측블록집합으로 기설정되어 있을 수 있음)을 이용하여 예측움직임 벡터의 후순위성분을 산출하고 예측움직임 벡터의 선순위성분 및 후순위성분과 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 산출하기 위하여 본 발명의 일 실시예에 따른 움직임벡터 코딩 장치(100)를 사용할 수 있다.The
즉, 부호화기(550)는 변환 및 양자화기(530)에 의해 변환 및 양자화된 잔여 블록의 양자화 변환 계수들을 스캔하여 생성되는 양자화 변환 계수열을 부호화하여 부호화 데이터를 생성하거나 스캐너(540)에 의해 스캔되어 생성되는 양자화 변환 계수열을 부호화하고 생성된 잔여 움직임 벡터를 부호화하여 부호화 데이터를 생성할 수 있다.That is, the
이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 이용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술이 사용될 수도 있을 것이다. 또한, 부호화기(850)는 양자화 변환 계수열을 부호화한 비트열뿐만 아니라 부호화된 비트열을 복호화하는 데 필요한 다양한 정보들을 부호화 데이터에 포함시킬 수 있다. 여기서, 부호화된 비트열을 복호화하는 데 필요한 다양한 정보들이란 블록 타입에 대한 정보, 예측 모드가 인트라 예측 모드인 경우에는 인트라 예측 모드에 대한 정보, 예측 모드가 인터 예측 모드인 경우에는 움직임 벡터에 대한 정보, 변환 및 양자화 타입에 대한 정보 등이 될 수 있지만, 이외의 다양한 정보들이 될 수도 있다.As the encoding technique, an entropy encoding technique may be used, but various encoding techniques may be used without being limited thereto. In addition, the encoder 850 may include not only a bit string obtained by encoding the quantized transform coefficient sequence, but also various pieces of information necessary to decode the encoded bit sequence in the encoded data. Here, the various pieces of information necessary to decode the encoded bit strings include information about a block type, information about an intra prediction mode when the prediction mode is an intra prediction mode, and information about a motion vector when the prediction mode is an inter prediction mode. Information, information on transform and quantization types, and the like, but also various other information.
역양자화 및 역변환기(560)는 변환 및 양자화기(530)에 의해 변환 및 양자화된 잔여 블록을 역 양자화(Inverse Quantization)하고 역 변환(Inverse Transform)하여 잔여 블록을 복원(Reconstruction)한다. 역 양자화와 역 변환은 변환 및 양자화기(530)가 수행한 변환 과정과 양자화 과정을 역으로 수행함으로써 이루어질 수 있다. 즉, 역양자화 및 역변환기(560)는 변환 및 양자화기(530)로부터 발생되어 전달되는 변환 및 양자화에 관한 정보(예를 들어, 변환 및 양자화 타입에 대한 정보)를 이용하여 변환 및 양자화기(530)가 변환 및 양자화한 방식을 역으로 수행하여 역 양자화 및 역 변환을 수행할 수 있다.The inverse quantization and
가산기(570)는 예측기(510)에 의해 예측된 예측 블록과 역양자화 및 역변환기(560)에 의해 역 양자화 및 역 변환된 잔여 블록을 가산하여 현재 블록을 복원한다.The
필터(580)는 가산기(570)에 의해 복원되는 현재 블록을 필터링(Filtering)한다. 이때, 필터(580)는 영상의 블록 단위의 변환 및 양자화에 의해 블록 경계 또는 변환 경계에서 발생하는 블록화 현상(Blocking Effects)을 감소시킨다. 한편, 필터(580)는 복원된 현재 블록과 함께 전송되는 변환 및 양자화 타입에 대한 정보를 이용하여 필터링할 수 있다. 이 변환 및 양자화 타입에 대한 정보는 역양자화 및 역변환기(560)에 의하여 가산기(570)으로 전달되고 다시 필터(580)로 전달될 수 있으며, 필터(580)에서는 블록화 현상을 없애기 위한 방법으로 디블록킹 필터(Deblocking Filter)를 사용할 수 있다.The
본 발명의 일 실시예에서는 현재 블록과 움직임 보상 블록의 차이인 잔여 블록만 변환 및 양자화되고 부호화되어 인터 예측 부호화에 따른 영상 부호화 데이터가 비트스트림에 포함되는 것으로 설명하지만, 실제로 영상 부호화 장치(500)는 인트라 예측 부호화되는 영상 부호화 데이터를 추가로 생성할 수 있으며, 비트스트림에는 인터 예측 부호화에 의해 생성되는 영상 부호하 데이터뿐만 아니라 인트라 예측 부호화에 의해 생성되는 영상 부호화 데이터와 그 영상 부호화 데이터를 인트라 예측 복호화기 위한 정보 또는 그 부호화 데이터가 추가로 포함될 수도 있다.In the exemplary embodiment of the present invention, only the residual block, which is a difference between the current block and the motion compensation block, is transformed, quantized, and encoded, so that the image encoded data according to the inter prediction encoding is included in the bitstream. May further generate image coded data to be intra predictively coded, and in the bitstream, the image coded data generated by intra predictive coding and the image coded data generated by intra predictive coding as well as the image coded data generated by inter predictive coding may be intra predicted. Information for decoding or encoded data thereof may be further included.
도 6은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.6 is a block diagram schematically illustrating a configuration of an image decoding apparatus according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 복호화 장치(600)는 도 5를 통해 전술한 영상 부호화 장치(800)와 같이, 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, TV, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP:PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), 디지털 TV 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.The image decoding apparatus 600 according to an exemplary embodiment of the present invention is a personal computer (PC), a notebook computer, a TV, a personal digital assistant (PDA) like the image encoding apparatus 800 described above with reference to FIG. 5. Personal Digital Assistant (PMP), Portable Multimedia Player (PMP), PlayStation Portable (PSP: PlayStation Portable), Wireless Communication Terminal (Wireless Communication Terminal), Smart Phone, Digital TV, etc. Or various devices including a communication device such as a communication modem for performing communication with a wired / wireless communication network, a memory for storing various programs and data for decoding an image, a microprocessor for executing and operating a program, and the like. do.
도 1 내지 도 6를 함께 참조하면서 설명하면, 본 발명의 일 실시예에 따른 영상 복호화 장치(600)는 복호화기(610), 역스캐너(620), 역양자화 및 역변환기(630), 예측기(640), 가산기(650) 및 필터(660)를 포함하여 구성될 수 있다. 여기서, 역스캐너(620)와 필터(660)는 반드시 포함되어야 하는 것은 아니며 구현 방식에 따라 선택적으로 생략될 수 있으며, 역스캐너(620)가 생략되는 경우에는 그 기능이 복호화기(610)에 통합되어 구현될 수 있다.1 to 6, the image decoding apparatus 600 according to an embodiment of the present invention includes a
복호화기(610)는 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호한다. 즉, 복호화기(610)는 부호화 데이터를 복호화하여 양자화 변환 계수열을 복원할 수 있는데, 영상 부호화 장치(500)에서 스캐너(540)의 기능이 부호화기(550)에 통합되어 구현된 경우 영상 부호화 장치(600)에서도 역스캐너(620)는 생략되어 그 기능이 복호화기(610)에 통합되어 구현되므로, 복호화기(610)는 복원된 양자화 변환 계수열을 역 스캐닝하여 변환 및 양자화된 잔여 블록을 복원하고, 잔여 움직임 벡터에 대한 정보를 복호하여 잔여 움직임 벡터를 복원할 수 있다.The
또한, 복호화기(610)는 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록뿐만 아니라 복호화에 필요한 정보들을 복호화하거나 추출할 수 있다. 복호화에 필요한 정보들은 최적의 예측블록집합에 대한 정보와 같이 부호화 데이터 내의 부호화된 비트열을 복호화하는 데 필요한 정보들을 말하며, 예를 들어 블록 타입에 대한 정보, 예측 모드가 인트라 예측 모드인 경우에는 인트라 예측 모드에 대한 정보, 예측 모드가 인터 예측 모드인 경우에는 움직임 벡터에 대한 정보, 변환 및 양자화 타입에 대한 정보 등이 될 수 있지만, 이외의 다양한 정보들이 될 수도 있다.In addition, the
블록 타입에 대한 정보는 역양자화 및 역변환기(630)와 예측기(640)로 전달될 수 있으며, 변환 및 양자화 타입에 대한 정보는 역양자화 및 역변환기(630)로 전달될 수 있으며, 인트라 예측 모드에 대한 정보와 움직임 벡터에 대한 정보와 같은 예측에 필요한 정보들은 예측기(640)로 전달될 수 있다.The information about the block type may be delivered to the inverse quantization and
역 스캐너(620)는 복호화기(610)에서 양자화 변환 계수열을 복원하여 전달하면 양자화 변환 계수열을 역 스캐닝하여 변환 및 양자화된 잔여 블록을 복원한다. When the
역 스캐너(620)는 추출된 양자화 계수열을 역 지그재그 스캔 등 다양한 역 스캐닝 방식으로 역 스캐닝하여 양자화 계수를 갖는 잔여 블록을 생성한다. 이때의 역 스캐닝 방식은 복호화기(610)에서 변환의 크기에 대한 정보를 얻어 이에 해당하는 역 스캐닝 방법을 사용하여 잔여 블록을 생성하게 된다.The
또한, 전술한 바와 같이, 영상 부호화 장치(500)에서 스캐너(540)의 기능이 부호화기(550)에 통합되어 구현된 경우 영상 부호화 장치(600)에서도 역스캐너(620)는 생략되어 그 기능이 복호화기(610)에 통합될 수 있다. 또한, 복호화기(610) 또는 역스캐너(620)는 복호화기(610)에서 부호화 데이터를 복호화하여 복원되는 변환 및 양자화 타입에 대한 정보에 의해 식별되는 변환 및 양자화 타입에 따라 변환 및 양자화된 잔여 블록을 역 스캐닝한다. 여기서, 역스캐너(620)가 변환 및 양자화 타입에 따라 역 스캐닝하는 방법은 스캐너(540)가 변환 및 양자화된 잔여 블록의 양자화 변환 계수들을 스캐닝하는 방법을 역으로 수행하는 것과 동일 또는 유사하므로, 역 스캐닝하는 방법에 대해서는 상세한 설명을 생략한다.In addition, as described above, when the function of the
역양자화 및 역변환기(630)는 복원되는 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원한다. 이때, 역양자화 및 역변환기(630)는 복호화기(610)로부터 전달되는 변환 및 양자화 타입에 대한 정보에 의해 식별되는 변환 및 양자화 타입에 따라 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환할 수 있다. 여기서, 역양자화 및 역변환기(630)가 변환 및 양자화된 잔여 블록을 변환 및 양자화 타입에 따라 역 양자화 및 역 변환하는 방법은 영상 부호화 장치(500)의 변환 및 양자화기(630)에서 변환 및 양자화 타입에 따라 변환 및 양자화하는 과정을 역으로 수행하는 것과 동일 또는 유사하므로, 역 양자화 및 역 변환하는 방법에 대해서는 상세한 설명을 생략한다.Inverse quantization and
예측기(640)는 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 후순위 예측블록집합(즉, 예측블록집합들 중에서 어느 하나가 후순위 예측블록집합으로 기설정되어 있을 수 있음)을 이용하여 예측움직임 벡터의 후순위성분을 산출하여 산출된 예측 움직임 벡터와 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하고 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성한다.The
예측기(640)는 블록 타입에 대한 정보에 의해 식별되는 블록 타입에 따라 현재 블록의 크기와 형태를 결정하고, 예측에 필요한 정보에 의해 식별되는 인트라 예측 모드 또는 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성한다. 이때, 예측기(640)는 영상 부호화 장치(500)의 예측기(610)와 동일 또는 유사한 방법으로, 현재 블록을 서브블록으로 분할하고 분할된 서브블록별로 예측하여 생성되는 예측 서브블록을 결합하여 예측 블록을 생성할 수 있다.The
여기서, 예측기(640)는 상관도가 높은 것을 현재 블록의 움직임 벡터의 선순위성분으로 선택할 수 있다.Here, the
여기서 상관도는 현재 블록의 주변블록의 움직임 벡터의 각 성분에 대한 분산값일 수 있으며, 현재 블록의 움직임 벡터의 선순위성분은 분산값이 큰 성분이 선택될 수 있다.The correlation may be a variance value of each component of the motion vector of the neighboring block of the current block, and a component having a large variance value may be selected as a priority component of the motion vector of the current block.
또한, 예측움직임 벡터의 후순위 예측성분은 현재 블록의 주변블록의 움직임 벡터의 후순위성분의 중간값을 사용할 수 있다.In addition, the subordinate prediction component of the prediction motion vector may use an intermediate value of the subordinate component of the motion vector of the neighboring block of the current block.
영상 복호화 장치(600)에서 상관도 산출에 관한 사항은 영상 복호화 장치(500)에서 설명하였으므로 상세한 설명은 생략한다.Since the matter of calculating the correlation in the image decoding apparatus 600 has been described in the image decoding apparatus 500, a detailed description thereof will be omitted.
가산기(650)는 역양자화 및 역변환기(630)에 의해 복원되는 잔여 블록과 예측기(640)에 의해 생성되는 예측 블록을 가산하여 현재 블록을 복원한다.The
필터(660)는 가산기(650)에 의해 복원되는 현재 블록을 필터링하고, 복원되어 필터링된 현재 블록은 픽처 단위로 누적되어 참조 픽처로서 메모리(미도시) 등에 저장되어 예측기(640)에서 다음 블록 또는 다음 픽처를 예측할 때 활용될 수 있다. The
필터(660)가 필터링을 수행하는 방법은 영상 부호화 장치(500)의 필터(580)가 디블로킹 필터링하는 과정과 동일 또는 유사하므로, 필터링하는 방법에 대해서는 상세한 설명을 생략한다.Since the
한편, 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는 도 5의 영상 부호화 장치(500)의 부호화데이터 출력단을 도 6의 영상 복호화 장치(600)의 부호화 데이터 입력단에 연결함으로써 구현할 수 있다.Meanwhile, the image encoding / decoding apparatus according to an embodiment of the present invention may be implemented by connecting the encoded data output terminal of the image encoding apparatus 500 of FIG. 5 to the encoded data input terminal of the image decoding apparatus 600 of FIG. 6.
본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는, 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하고, 현재 블록과 움직임 보상 블록을 감산하여 잔여 블록을 생성하고, 잔여 블록을 변환 및 양자화하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 예측블록집합 후보 중 어느 하나의 예측블록집합을 이용하여 예측움직임 벡터의 후순위성분을 산출하고 예측움직임 벡터의 선순위성분 및 후순위성분과 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화하는 영상 부호화기(영상 부호화 장치(500)로 구현 가능) 및 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호하고, 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 후순위 예측블록집합을 이용하여 예측움직임 벡터의 후순위성분을 산출하여 산출된 예측 움직임 벡터와 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하고 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고, 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원하는 영상 복호화기(영상 복호화 장치(600)로 구현 가능)를 포함한다.An image encoding / decoding apparatus according to an embodiment of the present invention generates a motion compensation block and a motion vector generated by estimating and compensating the motion of a current block of an image, and subtracts the residual block by subtracting the current block and the motion compensation block. Generate, transform and quantize the residual block, determine the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, and use the predetermined prediction block set candidate to determine the priority component of the prediction motion vector. Competitively calculate and calculate the subordinate component of the predictive motion vector using the predictive blockset of any of the predictive blockset candidates, and compare the priority component and subordinate component of the predictive motion vector with the priority component and subordinate component of the motion vector of the current block. Image encoder for encoding the difference value (can be implemented by the image encoding apparatus 500) And decode the encoded data to decode the transformed and quantized residual block, the residual motion vector, and the information about the optimal prediction block set, inversely quantize and inversely transform the transformed and quantized residual block, and restore the residual block. Determine the priority and subordinate components according to the correlation of the components of the motion vector of the neighboring block of the, and calculate the priority component of the predictive motion vector using the information about the optimal prediction block set, and use the preset subordinate prediction block set. The motion vector of the current block is reconstructed by adding the predicted motion vector and the decoded residual motion vector calculated by calculating the subordinate components of the predictive motion vector, and the prediction block is generated by predicting the current block using the reconstructed motion vector of the current block. And reconstructing the current block by adding the reconstructed residual block and the prediction block. And an image decoder (which can be implemented by the image decoding apparatus 600).
도 7은 본 발명의 일 실시예에 따른 움직임벡터 코딩 방법을 도시한 흐름도이다.7 is a flowchart illustrating a motion vector coding method according to an embodiment of the present invention.
도 1 내지 7을 참조하여 설명하면, 본 발명의 일 실시예에 따른 움직임벡터 코딩 방법은, 움직임벡터 코딩 방법에 있어서, 현재 블록의 주변블록의 움직임 벡터의 x 성분간의 상관도 및 y 성분간의 상관도에 따라 현재 블록의 움직임 벡터의 x 성분 및 y 성분 중에서 현재 블록의 움직임 벡터의 선순위성분 및 현재 블록의 움직임 벡터의 후순위성분을 결정하는 예측순서 결정단계(S702), 기설정된 예측블록집합 후보의 움직임 벡터의 선순위성분과 현재 블록의 움직임 벡터의 선순위성분으로부터 최적의 예측블록집합을 선택하고 최적의 예측블록집합에 대한 정보를 발생하는 예측블록 선택단계(S704), 최적의 예측블록집합으로부터 예측움직임 벡터의 선순위성분을 산출하고 예측움직임 벡터의 선순위성분과 현재 블록의 움직임 벡터의 선순위성분과의 차분값인 선순위 차분값을 산출하는 선순위 예측단계(S706), 기설정된 후순위 예측블록집합으로부터 예측움직임 벡터의 후순위성분을 산출하고 예측움직임 벡터의 후순위성분과 현재 블록의 움직임 벡터의 후순위성분과의 차분값인 후순위 차분값을 산출하는 후순위 예측단계(S708), 최적의 예측블록집합에 대한 정보 및 선순위 차분값과 후순위 차분값을 부호화하는 움직임정보 부호화단계(S710)를 포함한다.1 to 7, the motion vector coding method according to an embodiment of the present invention, in the motion vector coding method, the correlation between the x component and the y component of the motion vector of the neighboring block of the current block A prediction order determining step (S702) of determining a priority component of the motion vector of the current block and a subordinate component of the motion vector of the current block among the x component and the y component of the motion vector of the current block, according to the drawing. Predictive block selection step (S704) for selecting an optimal prediction block set from the priority component of the motion vector and the priority component of the motion vector of the current block and generating information on the optimal prediction block set, and the prediction motion from the optimal prediction block set. Calculate the priority component of the vector and the difference between the priority component of the predictive motion vector and the priority component of the motion vector of the current block A priority prediction step (S706) of calculating a priority difference value, which is a value, calculates a subordinate component of the predictive motion vector from the preset subordinate predictive block set, and calculates a subordinate component of the predictive motion vector's subordinate component and the subordinate component of the motion vector of the current block. Subsequence prediction step (S708) for calculating the subordinate difference value, information on the optimal prediction block set and motion information encoding step (S710) for encoding the priority difference value and the subordinate difference value.
여기서, 예측순서 결정단계(S702)는 예측순서 결정부(110)의 동작에, 예측블록 선택단계(S704)는 예측블록 선택부(120)의 동작에, 선순위 예측단계(S706)는 선순위 예측부(130)의 동작에, 후순위 예측단계(S708)는 후순위 예측부(140)의 동작에, 움직임정보 부호화단계(S710)는 움직임정보 부호화부(150)의 동작에 각각 대응될 수 있으므로 상세한 설명은 생략한다.Here, the prediction order determination step (S702) is the operation of the prediction
도 8은 본 발명의 일 실시예에 따른 영상 부호화 방법을 도시한 흐름도이다.8 is a flowchart illustrating an image encoding method according to an embodiment of the present invention.
도 1 내지 도 8을 참조하면서 설명하면, 본 발명의 일 실시예에 따른 영상 부호화 방법은, 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하는 예측단계(S802), 현재 블록과 움직임 보상 블록을 감산하여 잔여 블록을 생성하는 감산단계(S804), 잔여 블록을 변환 및 양자화하는 변환 및 양자화단계(S806), 및 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하는 단계(S808), 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 예측블록집합 후보 중 어느 하나의 예측블록집합을 이용하여 예측움직임 벡터의 후순위성분을 산출하는 단계(S810), 예측움직임 벡터의 선순위성분 및 후순위성분과 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화하는 부호화단계(S812)를 포함한다.1 to 8, a video encoding method according to an embodiment of the present invention includes a prediction step of generating a motion compensation block and a motion vector generated by estimating and compensating for a motion of a current block of an image (S802). ), A subtraction step (S804) of subtracting the current block and the motion compensation block to generate a residual block, a transform and quantization step (S806) of transforming and quantizing the residual block, and correlation of components of motion vectors of neighboring blocks of the current block. In operation S808, the priority component and the subordinate component are determined according to the drawing. Computation of the priority component of the prediction motion vector using a predetermined prediction block set candidate is performed by using a prediction block set of any one of the prediction block set candidates. Computing the priority component of the prediction motion vector (S810), and the motion vector of the current block and the priority component and the priority component of the prediction motion vector An encoding step (S812) of encoding the difference value between the priority component and the subordinate component, respectively.
여기서, 예측단계(S802)는 예측기(510)의 동작에, 감산단계(S804)는 감산기(520)의 동작에, 변환 및 양자화단계(S806)는 변환 및 양자화기(530)의 동작에, 단계(S808), 단계(S810) 및 단계(S812)는 부호화기(550)의 동작에 각각 대응될 수 있으므로 상세한 설명은 생략한다.Here, the prediction step S802 is performed by the operation of the
도 9는 본 발명의 일 실시예에 따른 영상 복호화 방법을 도시한 흐름도이다.9 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
도 1 내지 도 9를 참조하면서 설명하면, 본 발명의 일 실시예에 따른 영상 복호화 방법은, 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호하는 복호화단계(S902), 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하는 역양자화 및 역변환단계(S904), 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하는 단계(S906), 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 후순위 예측블록집합을 이용하여 예측움직임 벡터의 후순위성분을 산출하는 단계(S908), 산출된 예측 움직임 벡터와 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하고 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하는 예측단계(910), 및 복원되는 잔여 블록과 상기 예측 블록을 가산하여 현재 블록을 복원하는 가산단계(S912)를 포함한다.1 to 9, a video decoding method according to an embodiment of the present invention decodes encoded data to decode transformed and quantized residual blocks, residual motion vectors, and information on an optimal prediction block set. Decoding step (S902), inverse quantization and inverse transform step (S904) for inverse quantization and inverse transform the transformed and quantized residual block to restore the residual block, the priority according to the correlation of the components of the motion vector of the neighboring block of the current block Determining a component and a subordinate component (S906), calculating a priority component of a prediction motion vector using information on an optimal prediction block set, and calculating a subordinate component of a prediction motion vector using a predetermined subordinate prediction block set. In step S908, the calculated predicted motion vector and the decoded residual motion vector are added to restore and reconstruct the motion vector of the current block. A prediction step 910 of generating a prediction block by predicting the current block by using the motion vector of the current block, and an addition step (S912) of reconstructing the current block by adding the reconstructed residual block and the prediction block.
여기서, 복호화단계(S902)는 복호화기(610)의 동작에, 역양자화 및 역변환단계(S904)는 역양자화 및 역변환기(630)의 동작에, 단계(S906), 단계(S908) 및 단계(910)는 예측기(650)의 동작에, 가산단계(S912)는 가산기(640)의 동작에 각각 대응될 수 있으므로 상세한 설명은 생략한다.Here, the decoding step (S902) is the operation of the
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 도 8의 본 발명의 일 실시예에 따른 영상 부호화 방법과 도 9의 본 발명의 일 실시예에 따른 영상 복호화 방법을 결합하여 구현함으로써 실현할 수 있다.An image encoding / decoding method according to an embodiment of the present invention may be realized by combining a video encoding method according to an embodiment of the present invention of FIG. 8 and an image decoding method according to an embodiment of the present invention of FIG. 9. Can be.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하고, 현재 블록과 움직임 보상 블록을 감산하여 잔여 블록을 생성하고, 잔여 블록을 변환 및 양자화하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 예측블록집합 후보 중 어느 하나의 예측블록집합을 이용하여 예측움직임 벡터의 후순위성분을 산출하고 예측움직임 벡터의 선순위성분 및 후순위성분과 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화하는 단계, 및 부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호하고, 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 후순위 예측블록집합을 이용하여 예측움직임 벡터의 후순위성분을 산출하여 산출된 예측 움직임 벡터와 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하고 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고, 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원하는 단계를 포함한다.In an image encoding / decoding method according to an embodiment of the present invention, a motion compensation block and a motion vector generated by estimating and compensating for a motion of a current block of an image are generated, and a residual block is subtracted by subtracting the current block and the motion compensation block. Generate, transform and quantize the residual block, determine the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, and use the predetermined prediction block set candidate to determine the priority component of the prediction motion vector. Competitively calculate and calculate the subordinate component of the predictive motion vector using the predictive blockset of any of the predictive blockset candidates, and compare the priority component and subordinate component of the predictive motion vector with the priority component and subordinate component of the motion vector of the current block. Encoding the difference values, and decoding and encoding the encoded data, respectively. Decode the information about the quantized residual block, the residual motion vector, and the optimal prediction block set, and inversely quantize and inverse transform the transformed and quantized residual block to reconstruct the residual block, and Determine the priority component and the subordinate component according to the degree of correlation, calculate the priority component of the predictive motion vector using the information about the optimal predictive block set, and calculate the subordinate component of the predictive motion vector using the preset subordinate predictive block set. Reconstruct the motion vector of the current block by adding the calculated predicted motion vector and the decoded residual motion vector, and generate a predictive block by predicting the current block using the reconstructed motion vector of the current block. Reconstructing the current block by adding.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(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.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 블록 기반 움직임 예측 후에 얻어지는 움직임 벡터(Motion Vector)와 기부호화된 주변 블록의 움직임 벡터 정보를 이용하여 얻은 예측 움직임 벡터(Predictive Motion Vector)와의 차분 정보(Residual)를 효율적으로 압축하여 비디오 데이터 압축의 성능을 더욱 향상시킴으로써 같은 비트율에서 더욱 우수한 복원 화질을 얻는 효과가 있어 산업상 이용가능성이 크다.
As described above, according to the embodiment of the present invention, the difference information between the motion vector obtained after the block-based motion prediction and the predictive motion vector obtained by using the motion vector information of the base-encoded neighboring block. By efficiently compressing (Residual) to further improve the performance of video data compression, it is possible to obtain better reconstructed picture quality at the same bit rate, which is highly industrially applicable.
Claims (34)
상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하고, 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하고, 상기 잔여 블록을 변환 및 양자화하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 상기 예측블록집합 후보 중 어느 하나의 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분 및 후순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화하는 영상 부호화기; 및
부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호하고, 복호된 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 복호된 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 예측블록집합을 이용하여 예측움직임 벡터의 후순위성분을 산출하여 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하고 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고, 복원되는 잔여 블록과 상기 예측 블록을 가산하여 현재 블록을 복원하는 영상 복호화기
를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치.An apparatus for encoding / decoding a video,
Generating a motion compensation block and a motion vector generated by estimating and compensating the motion of the current block of the image, subtracting the current block and the motion compensation block to generate a residual block, transforming and quantizing the residual block, Determine the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, and use the predetermined prediction block set candidate to competitively calculate the priority component of the predictive motion vector, An image that calculates a subordinate component of the predictive motion vector using one prediction block set and encodes a difference value between a priority component and a subordinate component of the predictive motion vector and a priority component and a subordinate component of the motion vector of the current block, respectively. Encoder; And
Decode the encoded data to decode the information about the transformed and quantized residual block, the residual motion vector, and the optimal prediction block set, and inversely quantize and inverse transform the decoded transform and the quantized residual block to restore the residual block, and The priority component and the subordinate component are determined according to the correlation of the components of the motion vector of the neighboring block of the block, and the information of the decoded optimal prediction block set is used to calculate the priority component of the predictive motion vector, and The motion vector of the current block is reconstructed by adding the predicted motion vector and the decoded residual motion vector calculated by calculating the subordinate component of the predictive motion vector using the predicted motion vector. A block is generated and the current block is added by adding the residual block to be recovered and the prediction block. Video decoding to restore the group
Image encoding / decoding apparatus comprising a.
상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하는 예측기;
상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하는 감산기;
상기 잔여 블록을 변환 및 양자화하는 변환 및 양자화기; 및
현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 상기 예측블록집합 후보 중 어느 하나의 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분 및 후순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화하는 부호화기
를 포함하는 것을 특징으로 하는 영상 부호화 장치.In the apparatus for encoding a video,
A predictor for generating a motion compensation block and a motion vector generated by estimating and compensating for the motion of the current block of the image;
A subtractor for generating a residual block by subtracting the current block and the motion compensation block;
A transform and quantizer for transforming and quantizing the residual block; And
Determine the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, and use the predetermined prediction block set candidate to competitively calculate the priority component of the predictive motion vector, An encoder that calculates a subordinate component of the predictive motion vector using one predictive block set, and encodes a difference value between a priority component and a subordinate component of the predictive motion vector and a priority component and a subordinate component of the motion vector of the current block, respectively.
An image encoding apparatus comprising a.
상기 부호화기는,
현재 블록의 주변블록의 움직임 벡터의 x 성분간의 상관도 및 y 성분간의 상관도에 따라 상기 현재 블록의 움직임 벡터의 x 성분 및 y 성분 중에서 상기 현재 블록의 움직임 벡터의 선순위성분 및 상기 현재 블록의 움직임 벡터의 후순위성분을 결정하는 예측순서 결정부;
기설정된 예측블록집합 후보의 움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분으로부터 최적의 예측블록집합을 선택하고 상기 최적의 예측블록집합에 대한 정보를 발생하는 예측블록 선택부;
상기 최적의 예측블록집합으로부터 예측움직임 벡터의 선순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분과의 차분값인 선순위 차분값을 산출하는 선순위 예측부;
기설정된 후순위 예측블록집합으로부터 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 후순위성분과 상기 현재 블록의 움직임 벡터의 후순위성분과의 차분값인 후순위 차분값을 산출하는 후순위 예측부; 및
상기 최적의 예측블록집합에 대한 정보 및 상기 선순위 차분값과 상기 후순위 차분값을 부호화하는 움직임정보 부호화부
를 포함하는 것을 특징으로 하는 영상 부호화 장치.The method of claim 2,
The encoder,
The priority component of the motion vector of the current block and the motion of the current block among the x and y components of the motion vector of the current block according to the correlation between the x components and the y components of the motion vector of the neighboring block of the current block. A prediction order determiner that determines a subordinate component of the vector;
A prediction block selection unit which selects an optimal prediction block set from a priority component of a motion vector of a predetermined prediction block set candidate and a priority component of the motion vector of the current block and generates information on the optimal prediction block set;
A priority prediction unit calculating a priority component of a prediction motion vector from the optimal prediction block set and calculating a priority difference value that is a difference value between a priority component of the prediction motion vector and a priority component of the motion vector of the current block;
A subordinate priority predicting unit calculating a subordinated component of the prediction motion vector from a preset subordinated prediction block set and calculating a subordinated difference value which is a difference value between a subordinated component of the predicted motion vector and a subordinated component of the motion vector of the current block; And
A motion information encoder for encoding the information on the optimal prediction block set and the priority difference value and the subordinate difference value
An image encoding apparatus comprising a.
상기 예측순서 결정부는,
상기 상관도가 높은 것을 상기 현재 블록의 움직임 벡터의 선순위성분으로 선택하는 것을 특징으로 하는 영상 부호화 장치.The method of claim 3, wherein
The prediction order determiner,
And the high correlation is selected as a priority component of the motion vector of the current block.
상기 예측움직임 벡터의 선순위 예측성분은,
상기 현재 블록의 주변블록의 움직임 벡터의 선순위성분의 중간값인 것을 특징으로 하는 영상 부호화 장치.The method of claim 3, wherein
The priority prediction component of the prediction motion vector is
And an intermediate value of a priority component of a motion vector of a neighboring block of the current block.
상기 상관도는,
상기 현재 블록의 주변블록의 움직임 벡터의 각 성분에 대한 분산값인 것을 특징으로 하는 영상 부호화 장치.The method of claim 3, wherein
The correlation degree,
And a variance value of each component of a motion vector of a neighboring block of the current block.
상기 현재 블록의 움직임 벡터의 선순위성분은 상기 분산값이 큰 성분이 선택되는 것을 특징으로 하는 영상 부호화 장치.The method of claim 6,
And a component having a large variance value is selected as a priority component of the motion vector of the current block.
부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호하는 복호화기;
상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하는 역양자화 및 역변환기;
현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 상기 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 후순위 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하여 상기 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하는 예측기; 및
상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산기
를 포함하는 것을 특징으로 하는 영상 복호화 장치.In the apparatus for decoding an image,
A decoder for decoding the encoded data and decoding information about the transformed and quantized residual block, the residual motion vector, and the optimal prediction block set;
An inverse quantization and inverse transformer for reconstructing the residual block by inverse quantization and inverse transformation of the transformed and quantized residual block;
Determine the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, calculate the priority component of the predictive motion vector by using the information about the optimal prediction block set, and set the predetermined subordinate prediction block set A subordinate component of the predictive motion vector is calculated by adding the calculated predicted motion vector and the decoded residual motion vector to restore the motion vector of the current block, and uses the reconstructed motion vector of the current block. A predictor for predicting a current block to generate a predicted block; And
An adder for reconstructing the current block by adding the reconstructed residual block and the prediction block;
Video decoding apparatus comprising a.
상기 예측기는,
상기 상관도가 높은 것을 상기 현재 블록의 움직임 벡터의 선순위성분으로 선택하는 것을 특징으로 하는 영상 복호화 장치.The method of claim 8,
The predictor,
And selecting the higher correlation as the priority component of the motion vector of the current block.
상기 예측움직임 벡터의 후순위 예측성분은,
상기 현재 블록의 주변블록의 움직임 벡터의 후순위성분의 중간값인 것을 특징으로 하는 영상 복호화 장치.The method of claim 8,
The subordinate prediction component of the prediction motion vector is
And an intermediate value of a subordinate priority component of a motion vector of a neighboring block of the current block.
상기 상관도는,
상기 현재 블록의 주변블록의 움직임 벡터의 각 성분에 대한 분산값인 것을 특징으로 하는 영상 복호화 장치.The method of claim 9,
The correlation degree,
And a variance value of each component of a motion vector of a neighboring block of the current block.
상기 현재 블록의 움직임 벡터의 선순위성분은 상기 분산값이 큰 성분이 선택되는 것을 특징으로 하는 영상 복호화 장치.12. The method of claim 11,
And a component having a large variance value is selected as a priority component of the motion vector of the current block.
현재 블록의 주변블록의 움직임 벡터의 x 성분간의 상관도 및 y 성분간의 상관도에 따라 상기 현재 블록의 움직임 벡터의 x 성분 및 y 성분 중에서 상기 현재 블록의 움직임 벡터의 선순위성분 및 상기 현재 블록의 움직임 벡터의 후순위성분을 결정하는 예측순서 결정부;
기설정된 예측블록집합 후보의 움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분으로부터 최적의 예측블록집합을 선택하고 상기 최적의 예측블록집합에 대한 정보를 발생하는 예측블록 선택부;
상기 최적의 예측블록집합으로부터 예측움직임 벡터의 선순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분과의 차분값인 선순위 차분값을 산출하는 선순위 예측부;
기설정된 후순위 예측블록집합으로부터 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 후순위성분과 상기 현재 블록의 움직임 벡터의 후순위성분과의 차분값인 후순위 차분값을 산출하는 후순위 예측부; 및
상기 최적의 예측블록집합에 대한 정보 및 상기 선순위 차분값과 상기 후순위 차분값을 부호화하는 움직임정보 부호화부
를 포함하는 것을 특징으로 하는 움직임벡터 코딩 장치.In the motion vector coding apparatus,
The priority component of the motion vector of the current block and the motion of the current block among the x and y components of the motion vector of the current block according to the correlation between the x components and the y components of the motion vector of the neighboring block of the current block. A prediction order determiner that determines a subordinate component of the vector;
A prediction block selection unit which selects an optimal prediction block set from a priority component of a motion vector of a predetermined prediction block set candidate and a priority component of the motion vector of the current block and generates information on the optimal prediction block set;
A priority prediction unit calculating a priority component of a prediction motion vector from the optimal prediction block set and calculating a priority difference value that is a difference value between a priority component of the prediction motion vector and a priority component of the motion vector of the current block;
A subordinate priority predicting unit calculating a subordinated component of the prediction motion vector from a preset subordinated prediction block set and calculating a subordinated difference value which is a difference value between a subordinated component of the predicted motion vector and a subordinated component of the motion vector of the current block; And
A motion information encoder for encoding the information on the optimal prediction block set and the priority difference value and the subordinate difference value
Motion vector coding device comprising a.
상기 예측순서 결정부는,
상기 상관도가 높은 것을 상기 현재 블록의 움직임 벡터의 선순위성분으로 선택하는 것을 특징으로 하는 움직임벡터 코딩 장치.The method of claim 13,
The prediction order determiner,
And selecting the high correlation as the priority component of the motion vector of the current block.
상기 예측움직임 벡터의 후순위 예측성분은,
상기 현재 블록의 주변블록의 움직임 벡터의 후순위성분의 중간값인 것을 특징으로 하는 움직임벡터 코딩 장치.The method of claim 13,
The subordinate prediction component of the prediction motion vector is
And a median of subordinate components of a motion vector of a neighboring block of the current block.
상기 상관도는,
상기 현재 블록의 주변블록의 움직임 벡터의 각 성분에 대한 분산값인 것을 특징으로 하는 움직임벡터 코딩 장치.The method of claim 13,
The correlation degree,
And a variance value for each component of the motion vector of the neighboring block of the current block.
상기 현재 블록의 움직임 벡터의 선순위성분은 상기 분산값이 큰 성분이 선택되는 것을 특징으로 하는 움직임벡터 코딩 장치.17. The method of claim 16,
The priority vector of the motion vector of the current block is a motion vector coding apparatus, characterized in that the component having the large variance value is selected.
상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하고, 상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하고, 상기 잔여 블록을 변환 및 양자화하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 상기 예측블록집합 후보 중 어느 하나의 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분 및 후순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화하는 단계; 및
부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호하고, 복호된 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하고, 현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 복호된 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 예측블록집합을 이용하여 예측움직임 벡터의 후순위성분을 산출하여 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 현재 블록의 움직임 벡터를 복원하고 복원된 현재 블록의 움직임 벡터를 이용하여 현재 블록을 예측하여 예측 블록을 생성하고, 복원되는 잔여 블록과 상기 예측 블록을 가산하여 현재 블록을 복원하는 단계
를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법.In the method of encoding / decoding an image,
Generating a motion compensation block and a motion vector generated by estimating and compensating the motion of the current block of the image, subtracting the current block and the motion compensation block to generate a residual block, transforming and quantizing the residual block, Determine the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, and use the predetermined prediction block set candidate to competitively calculate the priority component of the predictive motion vector, Calculating a subordinate component of the prediction motion vector by using one prediction block set, and encoding a difference value between a priority component and a subordinate component of the prediction motion vector and a priority component and a subordinate component of the motion vector of the current block, respectively; ; And
Decode the encoded data to decode the information about the transformed and quantized residual block, the residual motion vector, and the optimal prediction block set, and inversely quantize and inverse transform the decoded transform and the quantized residual block to restore the residual block, and The priority component and the subordinate component are determined according to the correlation of the components of the motion vector of the neighboring block of the block. The motion vector of the current block is reconstructed by adding the predicted motion vector and the decoded residual motion vector calculated by calculating the subordinate component of the predictive motion vector using the predicted motion vector. A block is generated and the current block is added by adding the residual block to be recovered and the prediction block. Steps to Restore
Image encoding / decoding method comprising a.
상기 영상의 현재 블록의 움직임을 추정하고 보상하여 생성되는 움직임 보상 블록 및 움직임 벡터를 생성하는 예측단계;
상기 현재 블록과 상기 움직임 보상 블록을 감산하여 잔여 블록을 생성하는 감산단계;
상기 잔여 블록을 변환 및 양자화하는 변환 및 양자화단계; 및
현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 기설정된 예측블록집합 후보를 이용하여 예측움직임 벡터의 선순위성분을 경쟁적으로 산출하고 상기 예측블록집합 후보 중 어느 하나의 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분 및 후순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분 및 후순위성분과의 차분값을 각각 부호화하는 부호화단계
를 포함하는 것을 특징으로 하는 영상 부호화 방법.In the method of encoding an image,
A prediction step of generating a motion compensation block and a motion vector generated by estimating and compensating for the motion of the current block of the image;
Subtracting the current block and the motion compensation block to generate a residual block;
A transform and quantization step of transforming and quantizing the residual block; And
Determine the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, and use the predetermined prediction block set candidate to competitively calculate the priority component of the predictive motion vector, Coding for calculating a subordinate component of the predictive motion vector using one predictive block set and encoding a difference value between a preordinate component and a subordinate component of the predictive motion vector and a subordinate component and a subordinate component of the motion vector of the current block, respectively. step
Image encoding method comprising a.
상기 부호화단계는,
현재 블록의 주변블록의 움직임 벡터의 x 성분간의 상관도 및 y 성분간의 상관도에 따라 상기 현재 블록의 움직임 벡터의 x 성분 및 y 성분 중에서 상기 현재 블록의 움직임 벡터의 선순위성분 및 상기 현재 블록의 움직임 벡터의 후순위성분을 결정하는 예측순서 결정단계;
기설정된 예측블록집합 후보의 움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분으로부터 최적의 예측블록집합을 선택하고 상기 최적의 예측블록집합에 대한 정보를 발생하는 예측블록 선택단계;
상기 최적의 예측블록집합으로부터 예측움직임 벡터의 선순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분과의 차분값인 선순위 차분값을 산출하는 선순위 예측단계;
기설정된 후순위 예측블록집합으로부터 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 후순위성분과 상기 현재 블록의 움직임 벡터의 후순위성분과의 차분값인 후순위 차분값을 산출하는 후순위 예측단계; 및
상기 최적의 예측블록집합에 대한 정보 및 상기 선순위 차분값과 상기 후순위 차분값을 부호화하는 움직임정보 부호화단계
를 포함하는 것을 특징으로 하는 영상 부호화 방법.The method of claim 19,
The encoding step,
The priority component of the motion vector of the current block and the motion of the current block among the x and y components of the motion vector of the current block according to the correlation between the x components and the y components of the motion vector of the neighboring block of the current block. A prediction order determining step of determining a subordinate component of the vector;
A prediction block selection step of selecting an optimal prediction block set from a priority component of a motion vector of a predetermined prediction block set candidate and a priority component of the motion vector of the current block and generating information on the optimal prediction block set;
A priority prediction step of calculating a priority component of a prediction motion vector from the optimal prediction block set and calculating a priority difference value that is a difference value between a priority component of the prediction motion vector and a priority component of the motion vector of the current block;
A subordinated prediction step of calculating a subordinated component of the prediction motion vector from a preset subordinated prediction block set and calculating a subordinated difference value which is a difference value between a subordinated component of the predicted motion vector and a subordinated component of the motion vector of the current block; And
A motion information encoding step of encoding the information on the optimal prediction block set and the priority difference value and the subordinate difference value;
Image encoding method comprising a.
상기 예측순서 결정단계는,
상기 상관도가 높은 것을 상기 현재 블록의 움직임 벡터의 선순위성분으로 선택하는 것을 특징으로 하는 영상 부호화 방법.The method of claim 20,
The prediction order determining step,
And selecting the higher correlation as the priority component of the motion vector of the current block.
상기 예측움직임 벡터의 선순위 예측성분은,
상기 현재 블록의 주변블록의 움직임 벡터의 선순위성분의 중간값인 것을 특징으로 하는 영상 부호화 방법.The method of claim 20,
The priority prediction component of the prediction motion vector is
And a median of a priority component of a motion vector of a neighboring block of the current block.
상기 상관도는,
상기 현재 블록의 주변블록의 움직임 벡터의 각 성분에 대한 분산값인 것을 특징으로 하는 영상 부호화 방법.The method of claim 20,
The correlation degree,
And a variance value of each component of a motion vector of a neighboring block of the current block.
상기 현재 블록의 움직임 벡터의 선순위성분은 상기 분산값이 큰 성분이 선택되는 것을 특징으로 하는 영상 부호화 방법.24. The method of claim 23,
And a component having a large variance value is selected as a priority component of the motion vector of the current block.
부호화 데이터를 복호화하여 변환 및 양자화된 잔여 블록, 잔여 움직임 벡터 및 최적의 예측블록집합에 대한 정보를 복호하는 복호화단계;
상기 변환 및 양자화된 잔여 블록을 역 양자화 및 역 변환하여 잔여 블록을 복원하는 역양자화 및 역변환단계;
현재 블록의 주변블록의 움직임 벡터의 성분의 상관도에 따라 선순위성분 및 후순위성분을 결정하고 상기 최적의 예측블록집합에 대한 정보를 이용하여 예측움직임 벡터의 선순위성분을 산출하고 기설정된 후순위 예측블록집합을 이용하여 상기 예측움직임 벡터의 후순위성분을 산출하여 상기 산출된 예측 움직임 벡터와 상기 복호된 잔여 움직임 벡터를 가산하여 상기 현재 블록의 움직임 벡터를 복원하고 상기 복원된 현재 블록의 움직임 벡터를 이용하여 상기 현재 블록을 예측하여 예측 블록을 생성하는 예측단계; 및
상기 복원되는 잔여 블록과 상기 예측 블록을 가산하여 상기 현재 블록을 복원하는 가산단계
를 포함하는 것을 특징으로 하는 영상 복호화 방법.In the method of decoding an image,
A decoding step of decoding the encoded data and decoding information about the transformed and quantized residual block, the residual motion vector, and the optimal prediction block set;
Inverse quantization and inverse transformation for restoring the residual block by inverse quantization and inverse transformation of the transformed and quantized residual block;
Determine the priority component and the subordinate component according to the correlation of the components of the motion vector of the neighboring block of the current block, calculate the priority component of the predictive motion vector by using the information about the optimal prediction block set, and set the predetermined subordinate prediction block set A subordinate component of the predictive motion vector is calculated by adding the calculated predicted motion vector and the decoded residual motion vector to restore the motion vector of the current block, and uses the reconstructed motion vector of the current block. A prediction step of predicting a current block to generate a prediction block; And
An addition step of reconstructing the current block by adding the reconstructed residual block and the prediction block;
Image decoding method comprising a.
상기 예측단계는,
상기 상관도가 높은 것을 상기 현재 블록의 움직임 벡터의 선순위성분으로 선택하는 것을 특징으로 하는 영상 복호화 방법.The method of claim 25,
The prediction step,
And selecting the higher correlation as the priority component of the motion vector of the current block.
상기 예측움직임 벡터의 후순위 예측성분은,
상기 현재 블록의 주변블록의 움직임 벡터의 후순위성분의 중간값인 것을 특징으로 하는 영상 복호화 방법.The method of claim 25,
The subordinate prediction component of the prediction motion vector is
And a median of subordinate components of a motion vector of a neighboring block of the current block.
상기 상관도는,
상기 현재 블록의 주변블록의 움직임 벡터의 각 성분에 대한 분산값인 것을 특징으로 하는 영상 복호화 방법.The method of claim 25,
The correlation degree,
And a variance value of each component of a motion vector of a neighboring block of the current block.
상기 현재 블록의 움직임 벡터의 선순위성분은 상기 분산값이 큰 성분이 선택되는 것을 특징으로 하는 영상 복호화 방법.The method of claim 28,
And a component having a large dispersion value is selected as a priority component of the motion vector of the current block.
현재 블록의 주변블록의 움직임 벡터의 x 성분간의 상관도 및 y 성분간의 상관도에 따라 상기 현재 블록의 움직임 벡터의 x 성분 및 y 성분 중에서 상기 현재 블록의 움직임 벡터의 선순위성분 및 상기 현재 블록의 움직임 벡터의 후순위성분을 결정하는 예측순서 결정단계;
기설정된 예측블록집합 후보의 움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분으로부터 최적의 예측블록집합을 선택하고 상기 최적의 예측블록집합에 대한 정보를 발생하는 예측블록 선택단계;
상기 최적의 예측블록집합으로부터 예측움직임 벡터의 선순위성분을 산출하고 상기 예측움직임 벡터의 선순위성분과 상기 현재 블록의 움직임 벡터의 선순위성분과의 차분값인 선순위 차분값을 산출하는 선순위 예측단계;
기설정된 후순위 예측블록집합으로부터 상기 예측움직임 벡터의 후순위성분을 산출하고 상기 예측움직임 벡터의 후순위성분과 상기 현재 블록의 움직임 벡터의 후순위성분과의 차분값인 후순위 차분값을 산출하는 후순위 예측단계; 및
상기 최적의 예측블록집합에 대한 정보 및 상기 선순위 차분값과 상기 후순위 차분값을 부호화하는 움직임정보 부호화단계
를 포함하는 것을 특징으로 하는 움직임벡터 코딩 방법.In the motion vector coding method,
The priority component of the motion vector of the current block and the motion of the current block among the x and y components of the motion vector of the current block according to the correlation between the x components and the y components of the motion vector of the neighboring block of the current block. A prediction order determining step of determining a subordinate component of the vector;
A prediction block selection step of selecting an optimal prediction block set from a priority component of a motion vector of a predetermined prediction block set candidate and a priority component of the motion vector of the current block and generating information on the optimal prediction block set;
A priority prediction step of calculating a priority component of a prediction motion vector from the optimal prediction block set and calculating a priority difference value that is a difference value between a priority component of the prediction motion vector and a priority component of the motion vector of the current block;
A subordinated prediction step of calculating a subordinated component of the prediction motion vector from a preset subordinated prediction block set and calculating a subordinated difference value which is a difference value between a subordinated component of the predicted motion vector and a subordinated component of the motion vector of the current block; And
A motion information encoding step of encoding the information on the optimal prediction block set and the priority difference value and the subordinate difference value;
Motion vector coding method comprising a.
상기 예측순서 결정단계는,
상기 상관도가 높은 것을 상기 현재 블록의 움직임 벡터의 선순위성분으로 선택하는 것을 특징으로 하는 움직임벡터 코딩 방법.The method of claim 30,
The prediction order determining step,
And selecting the higher correlation as a priority component of the motion vector of the current block.
상기 예측움직임 벡터의 후순위 예측성분은,
상기 현재 블록의 주변블록의 움직임 벡터의 후순위성분의 중간값인 것을 특징으로 하는 움직임벡터 코딩 방법.The method of claim 30,
The subordinate prediction component of the prediction motion vector is
Motion vector coding method, characterized in that the median of the subordinate components of the motion vector of the neighboring block of the current block.
상기 상관도는,
상기 현재 블록의 주변블록의 움직임 벡터의 각 성분에 대한 분산값인 것을 특징으로 하는 움직임벡터 코딩 방법.The method of claim 30,
The correlation degree,
And a variance value for each component of the motion vector of the neighboring block of the current block.
상기 현재 블록의 움직임 벡터의 선순위성분은 상기 분산값이 큰 성분이 선택되는 것을 특징으로 하는 움직임벡터 코딩 방법.
34. The method of claim 33,
The priority component of the motion vector of the current block is a motion vector coding method, characterized in that the component having the large variance value is selected.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100072256A KR101673026B1 (en) | 2010-07-27 | 2010-07-27 | Method and Apparatus for Coding Competition-based Interleaved Motion Vector and Method and Apparatus for Encoding/Decoding of Video Data Thereof |
PCT/KR2011/005358 WO2012015192A2 (en) | 2010-07-27 | 2011-07-20 | Method and device for coding competition-based interleaved motion vector, and method and device for image encoding/decoding using same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100072256A KR101673026B1 (en) | 2010-07-27 | 2010-07-27 | Method and Apparatus for Coding Competition-based Interleaved Motion Vector and Method and Apparatus for Encoding/Decoding of Video Data Thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120010738A true KR20120010738A (en) | 2012-02-06 |
KR101673026B1 KR101673026B1 (en) | 2016-11-04 |
Family
ID=45530574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100072256A KR101673026B1 (en) | 2010-07-27 | 2010-07-27 | Method and Apparatus for Coding Competition-based Interleaved Motion Vector and Method and Apparatus for Encoding/Decoding of Video Data Thereof |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101673026B1 (en) |
WO (1) | WO2012015192A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020139032A1 (en) * | 2018-12-28 | 2020-07-02 | 한국전자통신연구원 | Image encoding/decoding method and device, and recording medium storing bitstream |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070027237A (en) * | 2005-09-06 | 2007-03-09 | 삼성전자주식회사 | Method and apparatus for intra prediction of video |
KR20080088040A (en) * | 2007-03-28 | 2008-10-02 | 삼성전자주식회사 | Method and apparatus for video encoding and decoding |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101360279B1 (en) * | 2007-06-28 | 2014-02-13 | 광주과학기술원 | Method and apparatus for sharing motion information using global disparity estimation by macroblock unit, and method and apparatus for encoding/decoding multi-view video image using it |
KR100928325B1 (en) * | 2007-10-15 | 2009-11-25 | 세종대학교산학협력단 | Image encoding and decoding method and apparatus |
-
2010
- 2010-07-27 KR KR1020100072256A patent/KR101673026B1/en active IP Right Grant
-
2011
- 2011-07-20 WO PCT/KR2011/005358 patent/WO2012015192A2/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070027237A (en) * | 2005-09-06 | 2007-03-09 | 삼성전자주식회사 | Method and apparatus for intra prediction of video |
KR20080088040A (en) * | 2007-03-28 | 2008-10-02 | 삼성전자주식회사 | Method and apparatus for video encoding and decoding |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020139032A1 (en) * | 2018-12-28 | 2020-07-02 | 한국전자통신연구원 | Image encoding/decoding method and device, and recording medium storing bitstream |
US11671603B2 (en) | 2018-12-28 | 2023-06-06 | Electronics Telecommunications Research Institute | Image encoding/decoding method and apparatus, and recording medium storing bitstream |
US12041242B2 (en) | 2018-12-28 | 2024-07-16 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and apparatus, and recording medium for storing bitstream |
Also Published As
Publication number | Publication date |
---|---|
WO2012015192A2 (en) | 2012-02-02 |
WO2012015192A3 (en) | 2012-05-03 |
KR101673026B1 (en) | 2016-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101830352B1 (en) | Method and Apparatus Video Encoding and Decoding using Skip Mode | |
US9264731B2 (en) | Method and an apparatus for decoding a video | |
KR101484171B1 (en) | Motion Information Generating Apparatus and Method using Motion Vector Predictor Index Coding, and Image Encoding/Decoding Apparatus and Method using the Same | |
KR101681303B1 (en) | Method and Apparatus for Encoding/Decoding of Video Data Using Partitioned-Block Prediction | |
KR20100041393A (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 | |
KR20130085838A (en) | Video coding method and apparatus using weighted prediction | |
KR20120009861A (en) | Method and Apparatus for Encoding/Decoding of Video Data Using Expanded Skip Mode | |
KR101418104B1 (en) | Motion Vector Coding Method and Apparatus by Using Motion Vector Resolution Combination and Video Coding Method and Apparatus Using Same | |
KR20150083826A (en) | A Video Decoding Method and Apparatus Using Inter Prediction | |
KR20130057953A (en) | Method and apparatus for image encoding/decoding using detailed prediction unit | |
KR20120066741A (en) | Code motion information generating/motion information reconstructing method and apparatus using motion information merge and image encoding/decoding method and apparatus using the same | |
KR20120015495A (en) | Method and apparatus for encoding/decoding of video data capable of skipping filtering mode | |
KR101449683B1 (en) | Motion Vector Coding Method and Apparatus by Using Motion Vector Resolution Restriction and Video Coding Method and Apparatus Using Same | |
KR101377529B1 (en) | Video Coding and Decoding Method and Apparatus Using Adaptive Motion Vector Coding/Encoding | |
KR20100035243A (en) | Quantization parameter determination method and apparatus and video encoding/decoding method and apparatus | |
KR20100019088A (en) | Inter prediction apparatus and video encoding/decoding apparatus and method using same | |
KR101673026B1 (en) | Method and Apparatus for Coding Competition-based Interleaved Motion Vector and Method and Apparatus for Encoding/Decoding of Video Data Thereof | |
KR101693284B1 (en) | Method and Apparatus for Encoding/Decoding of Video Data Using Global Motion-based Enconding Structure | |
KR101479137B1 (en) | Motion Information Generating Apparatus and Method using Motion Vector Predictor Index Coding, and Image Encoding/Decoding Apparatus and Method using the Same | |
KR20110135763A (en) | Method and apparatus for context modelling and method and apparatus for encoding/decoding of video data thereof | |
KR20120033546A (en) | Method and apparatus for adaptive motion vector coding/decoding using the information of image structure and method and apparatus for encoding/decoding using the same | |
KR101575635B1 (en) | Method and Apparatus for Encoding and Decoding Motion Vector in Plural Number of Reference Pictures and Video Encoding/Decoding Method and Apparatus Using Same | |
KR101575605B1 (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 | |
KR101699832B1 (en) | Motion Information Generating Apparatus and Method using Motion Vector Predictor Index Coding, and Image Encoding/Decoding Apparatus and Method using the Same | |
KR101676381B1 (en) | Motion Information Generating Apparatus and Method using Motion Vector Predictor Index Coding, and Image Encoding/Decoding Apparatus and Method using the 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 |