KR20130057020A - Method for fast motion estimation using motion vectors of neighboring blocks - Google Patents
Method for fast motion estimation using motion vectors of neighboring blocks Download PDFInfo
- Publication number
- KR20130057020A KR20130057020A KR1020110122726A KR20110122726A KR20130057020A KR 20130057020 A KR20130057020 A KR 20130057020A KR 1020110122726 A KR1020110122726 A KR 1020110122726A KR 20110122726 A KR20110122726 A KR 20110122726A KR 20130057020 A KR20130057020 A KR 20130057020A
- Authority
- KR
- South Korea
- Prior art keywords
- motion
- motion vector
- difference
- mvd
- vector
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명은 영상 부호화기에서 움직임 추정(motion estimation)의 속도를 향상시키기 위한 방법에 관한 것으로, 주변 블록의 움직임벡터와 현재 블록의 움직임 추정의 탐색 중심점과의 차이가 크면 넓은 범위를 탐색하고, 주변 블록의 움직임벡터와 현재 블록의 움직임 추정의 탐색 중심점과의 차이가 작으면 좁은 범위를 탐색함으로써 계산량을 크게 감소시키기 위한 인접한 블록의 움직임 벡터를 이용한 고속 움직임 추정 방법에 관한 것이다. The present invention relates to a method for improving the speed of motion estimation in an image encoder. When the difference between the motion vector of the neighboring block and the search center point of the motion estimation of the current block is large, a wide range is searched and the neighboring block is searched. The present invention relates to a fast motion estimation method using a motion vector of an adjacent block to greatly reduce the amount of computation by searching a narrow range when the difference between the motion vector of and the search center point of the motion estimation of the current block is small.
일반적으로, 블록단위로 부호화가 이루어지는 국제 표준 영상 부호화기에 있어서, 그 블록은 인트라블록(intra-block)과 인터블록(inter-block)으로 분류된다. 고속의 움직임벡터 추정 방법은 인터블록의 부호화 방법에 관련되며, 국제 표준 영상 부호화기에서 움직임 추정의 탐색 중심점을 MVP(motion vector prediction)벡터로 하고, 이 중심점을 중심으로 좌우상하 방향으로 탐색범위를 설정한 뒤 탐색하게 된다. In general, in the international standard image encoder in which encoding is performed on a block basis, the block is classified into an intra-block and an inter-block. The fast motion vector estimation method is related to the interblock encoding method, and the search center point of motion estimation is set as a motion vector prediction (MVP) vector in an international standard image encoder, and the search range is set in the left and right directions up and down about the center point. After that you will search.
도 1은 국제 표준 동영상 부호화기의 대표적인 사례인 H.264/AVC 동영상 부호기의 블록 다이아그램이다. 도1에서 보는 바와 같이, 입력된 현재 영상(110)은 인터예측(112)과 인트라예측(114)이 모두 수행되고 그 중 우수한 예측방식을 선택적으로 사용하게 되며, 도 1의 스위치(100)가 그 역할을 수행하게 된다. 단, 인트라 픽쳐(intra picture)의 경우에는 항상 인트라예측을 수행하게 된다. 인터 또는 인트라예측으로 얻어진 예측 영상과의 차이 영상은 DCT변환(116)과 양자화(118)를 거쳐 엔트로피 부호화(119)된다. 또한 이 부호화기에서 역양자화(122), 역DCT변환(124)을 통해 복원된 차이 영상은 인터 또는 인트라예측으로 얻어진 예측 영상과의 합을 통해 복원된 영상이 얻어지고 이 복원된 영상은 인트라예측에 활용되며, 복원된 영상에 대해 디블록킹필터 처리된 영상은 인터예측에 활용된다. 1 is a block diagram of an H.264 / AVC video encoder, which is a representative example of an international video encoder. As shown in FIG. 1, the input
도 1의 표준 영상 부호화기에서는 전체 영상 단위로 부호화하는 대신에 한 장의 영상을 일정한 크기의 블록(예컨대, 가로방향으로 M 화소, 세로 방향으로 N 화소(통상적으로 MㅧN으로 표시))의 화소(picture element 또는 pixel)의 집합 단위로 부호화를 수행하는데, 블록의 크기는 16×16, 16×8, 8×16, 8×8, 8×4, 4×8, 4×4 등이 될 수 있다. 16×16 크기의 블록을 '매크로블록(macroblock)' 이라고 부르며, 그 외의 크기의 블록을 그냥 '블록(block)'이라고 부른다. 또한 블록은 '매크로블록'과 '블록'의 통칭으로 사용되기도 한다. 따라서 본 명세서에서 언급하는 블록은 이러한 다양한 크기의 블록을 통칭하여 사용한다.In the standard image encoder of FIG. 1, instead of encoding the entire image unit, a single image of a single block of pixels (e.g., M pixels in the horizontal direction and N pixels in the vertical direction (usually represented by M ㅧ N)) The encoding is performed in units of sets of picture elements or pixels, and the block size may be 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, 4 × 4, and the like. . Blocks of size 16x16 are called macroblocks, and blocks of other sizes are just called blocks. Blocks are also used collectively as 'macroblocks' and 'blocks'. Therefore, the blocks mentioned in the present specification are collectively used for these various sizes of blocks.
이와 같은 인터 예측 부호화에서는 현재 블록과 이전에 부호화된 프레임의 블록과의 움직임을 추정하여 그 차이 영상의 데이터와 움직임벡터를 부호화 하게 된다. 단순히 움직임벡터를 부호화 하는 것은 많은 비트를 필요로 하기에 영상 부호화기에서는 주변블록의 움직임벡터를 참고로 하여 현재 블록의 움직임 추정의 탐색 중심점(Motion Vector Prediction; 이하 MVP라함)을 추정하고, 현재 블록의 움직임벡터와의 차이(Motion Vector Difference ; 이하 MVD라함)만을 부호화함으로써 부호화 효율을 높이는 방법을 사용하고 있다. 즉, 움직임 벡터 대신 움직임 벡터차가 부호화되어 부호화 효율을 높이는 방법을 사용하고 있는 것이다. In the inter prediction encoding, the motion between the current block and the block of the previously encoded frame is estimated and the data and the motion vector of the difference image are encoded. Since simply encoding a motion vector requires a lot of bits, the image encoder estimates a search vector center of a motion estimation of a current block by referring to the motion vector of a neighboring block, and then refers to the motion vector of the current block. A method of increasing coding efficiency by encoding only a difference from a motion vector (Motion Vector Difference (hereinafter referred to as MVD)) is used. In other words, the motion vector difference is encoded instead of the motion vector to increase the coding efficiency.
종래의 동영상 압축 부호기에서는, 움직임 추정을 위한 탐색범위를 사용자가 입력하게 되면 MVP를 중심으로 그 탐색범위만큼 탐색하여 가장 우수한 움직임 벡터를 선정하게 된다. 이 방법은 작은 탐색범위로 설정하여도 성능저하가 발생하지 않는 움직임이 많지 않은 영상에 대해서도 그대로 적용됨으로써 계산량을 낭비하는 문제점을 가지고 있다. In a conventional video compression encoder, when a user inputs a search range for motion estimation, the user searches for the search range around the MVP and selects the best motion vector. This method has a problem of wasting computational amount as it is applied to an image that does not have a lot of motion that does not cause a performance deterioration even with a small search range.
또한 종래의 동적탐색방법에서는 현재 블록의 움직임 탐색 범위가 움직임 벡터 차와 밀접한 관계가 있다는 점을 고려하지 못하고, 단순히 주변 블록의 움직임 벡터 크기에 비례하도록 탐색범위를 설정함으로써 계산량 감축에 있어서 효율성이 높지 않다는 문제점을 가지고 있다. In addition, the conventional dynamic search method does not consider that the motion search range of the current block is closely related to the motion vector difference, and the efficiency of the computational reduction is not high by simply setting the search range to be proportional to the motion vector size of the neighboring blocks. It has a problem.
따라서 영상의 특성에 따라 탐색범위를 가변적으로 변화시킬 수 있고, 탐색 범위와 밀접한 관계가 있는 움직임 벡터 차이 값에 기반하여 탐색범위를 줄임으로써 계산량을 효과적으로 감축하는 방법의 필요성이 대두되었다. Therefore, there is a need for a method of effectively reducing the amount of calculation by reducing the search range based on a motion vector difference value closely related to the search range and varying the search range according to the characteristics of the image.
주변 블록의 움직임 벡터와 상관되어 현재 블록의 탐색범위를 제한함으로서 계산량을 감축하고자 하는 종래 방법에는 동적탐색방법 (dynamic search method)이 있다. 이 방법은 국제 표준화 기구인 ISO/IEC와 ITU-T의 Joint Video Team의 기고서 (JVT-Q088)에 제출된 방법으로서 주변 블록의 움직임 벡터의 크기의 최대값에 비례하여 현재 블록의 탐색범위를 제한하여 계산량을 감축하도록 하였다. 이 방법은 블록에 따라 다른 탐색범위를 적용한다는 점에서 본 발명에서 제시될 방법과 유사한 부류에 속하는 방법이나, 본 발명에서는 탐색범위가 현재 블록의 움직임 벡터 보다는 움직임 벡터 차이와 보다 밀접하게 관련있다는 점을 고려하여 주변 블록의 움직임 벡터 차의 크기를 이용하여 현재 블록의 탐색범위를 제한한다는 점에 차별화된다.The conventional method of reducing the amount of computation by limiting the search range of the current block correlated with the motion vector of the neighboring block includes a dynamic search method. This method is submitted to the international standardization organization ISO / IEC and ITU-T's Joint Video Team (JVT-Q088), which limits the search range of the current block in proportion to the maximum value of the motion vector of the neighboring blocks. To reduce the amount of computation. This method belongs to a similar class to the method proposed in the present invention in that different search ranges are applied to each block, but in the present invention, the search range is more closely related to the motion vector difference than the motion vector of the current block. In consideration of this, the difference of the search range of the current block is limited by using the magnitude of the motion vector difference of the neighboring blocks.
본 발명은 상기의 필요성을 감안하여 발명된 것으로, 영상부호화기에서 주변 블록의 움직임 벡터와 상관되어 현재 블록을 탐색하는 탐색범위는 MVP를 중심좌표로 하여 설정되므로 움직임 벡터보다는 움직임 벡터 차와 밀접한 관계가 있음을 주목한다. 따라서, 본 발명은 현재 블록의 움직임 탐색범위를 설정함에 있어서, 이미 부호화된 주변 블록의 움직임 벡터와 현재 블록의 MVP의 차와, 이전 프레임의 동일 위치의 블록의 움직임 벡터와 현재 블록의 MVP의 차를 이용하여 현재 블록의 움직임 탐색범위를 실제 움직임 벡터가 존재할 가능성이 높은 영역을 설정함으로써 계산량을 대폭 감소시키는 인접한 블록의 움직임 벡터를 이용한 고속 움직임 추정 방법을 제공하는 데 그 목적이 있다. The present invention has been invented in view of the above necessity, and since a search range for searching a current block correlated with a motion vector of a neighboring block in an image encoder is set with MVP as a center coordinate, it is more closely related to a motion vector difference than a motion vector. Note that there is. Accordingly, in the present invention, in setting the motion search range of the current block, the difference between the motion vector of the neighboring block and the MVP of the current block, and the difference between the motion vector of the block at the same position of the previous frame and the MVP of the current block It is an object of the present invention to provide a fast motion estimation method using motion vectors of adjacent blocks, which greatly reduces the amount of computation by setting a region where a real motion vector is likely to exist in the motion search range of a current block using.
이와 같은 목적을 수행하기 위한 본 발명은, The present invention for performing such an object,
부호화를 수행하는 현재 블록을 둘러싼 주변 블록의 움직임 벡터()를 입력받는 단계;The motion vector of the neighboring block surrounding the current block that performs encoding ( );
현재 블록의 움직임 벡터의 예측 벡터(MVP)를 입력 받고, 입력된 주변 블록의 움직임 벡터와 상기 예측 벡터(MVP)의 차이를 계산하여 차벡터를 얻는 단계; Receiving a prediction vector (MVP) of a motion vector of a current block, obtaining a difference vector by calculating a difference between the input motion vector of the neighboring block and the prediction vector (MVP);
획득된 차벡터의 평균을 계산하고 차벡터의 평균을 이용하여 x방향과 y방향의 탐색범위를 설정하는 단계; 그리고, Calculating a mean of the obtained difference vectors and setting a search range in the x and y directions using the mean of the difference vectors; And,
설정된 탐색범위를 탐색범위로 하는 움직임을 추정하는 단계를 포함하는 인접한 블록의 움직임 벡터를 이용한 고속 움직임 추정 방법이다. A fast motion estimation method using motion vectors of adjacent blocks, comprising estimating a motion having a set search range as a search range.
본 발명의 바람직한 실시예에서는 평균을 계산하는 단계는 부호화를 수행하는 현재 블록을 둘러싼 5개의 주변 블록의 움직임 벡터의 전체의 평균을 계산하는 방법 또는 현재 블록을 둘러싼 5개의 주변 블록의 움직임 벡터에서 일부만을 취하여 평균을 계산하는 방법중에 선택되는 하나의 방법임을 특징으로 한다. In the preferred embodiment of the present invention, the calculating of the average may be performed by calculating a mean of the entire motion vectors of the five neighboring blocks surrounding the current block performing encoding or only a part of the motion vectors of the five neighboring blocks surrounding the current block. It is characterized in that it is one of the methods selected from among the methods for calculating the average.
본 발명에 따른 인접한 블록의 움직임 벡터를 이용한 고속 움직임 추정 방법은 주변 블록의 움직임벡터와 현재 블록의 MVP와의 차이가 크면 현재 블록의 움직임 벡터 차가 크다고 볼 수 있으므로 넓은 범위를 탐색하고, 반대로 그 차이가 작으면 현재 블록의 움직임 벡터 차가 작다고 볼 수 있으므로 좁은 범위를 탐색함으로써 계산량을 크게 감소시킬 수 있다. In the fast motion estimation method using the motion vectors of adjacent blocks according to the present invention, if the difference between the motion vector of the neighboring block and the MVP of the current block is large, the difference in the motion vector of the current block can be considered to be large. If it is small, the motion vector difference of the current block can be regarded as small, so that the calculation amount can be greatly reduced by searching a narrow range.
본 발명에 따른 인접한 블록의 움직임 벡터를 이용한 고속 움직임 추정 방법을 움직임이 적은 영상에 적용하여 보았을 때, 화질 저하없이 계산량을 크게 감소시킴을 알 수 있으며, 이는 사용자에 의해 입력된 탐색범위를 모두 탐색하지 않고도 본 발명의 방법이 움직임 추정을 효율적으로 처리함을 알 수 있었다. When the fast motion estimation method using the motion vectors of adjacent blocks according to the present invention is applied to an image with little motion, it can be seen that the computation amount is greatly reduced without deterioration of image quality, which searches all the search ranges input by the user. It has been found that the method of the present invention efficiently handles motion estimation without having to do so.
도 1은 종래의 동영상 부호기 구조를 보여주기 위한 블록도이다.
도 2는 움직임 벡터를 이용한 움직임 추정 방법에서 현재 블록과 주변 블록을 정의를 보여주는 도면이다.
도 3은 움직임 벡터를 이용한 움직임 추정 방법에서 동일위치 블록의 정의를 보여주는 도면이다.
도 4는 본 발명에 따른 움직임 벡터를 이용한 움직임 추정방법을 설명하기 위한 흐름도이다. 1 is a block diagram illustrating a conventional video encoder structure.
2 is a diagram illustrating definition of a current block and neighboring blocks in a motion estimation method using a motion vector.
3 is a diagram illustrating definition of an identical block in a motion estimation method using a motion vector.
4 is a flowchart illustrating a motion estimation method using a motion vector according to the present invention.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하면 다음과 같다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2를 참조하면 영상 부호기 표준에서, 현재 블록(X)의 효과적인 압축을 위해 사용되는 주변 블록(A, B, C, D)의 정의를 나타낸다. MVP는 A, B, C블록의 움직임벡터를 사용하며, C가 유효하지 않은 경우에는 D가 사용된다. 각 방향(X축 방향, Y축 방향)에 따라 3개의 움직임벡터의 중간값을 취하게 된다. 이 중간값을 중심점으로 하여 현재 블록과 가장 유사한 블록을 이전에 부호화된 프레임에서 탐색하게 되며 가장 유사한 블록과 현재 블록과의 상대적인 위치를 움직임 벡터라고 한다. 이처럼 움직임 벡터를 찾는 과정을 움직임 추정이라고 하며, 움직임 벡터를 찾는 범위를 탐색범위라고 한다. 여기서 탐색범위는 사용자에 의해 주어지는 입력에 의해 결정된다.Referring to FIG. 2, in the video encoder standard, a definition of neighboring blocks A, B, C, and D used for effective compression of the current block X is shown. MVP uses motion vectors of blocks A, B, and C. If C is not valid, D is used. The median of three motion vectors is taken along each direction (X-axis direction, Y-axis direction). Using this intermediate value as the center point, the block most similar to the current block is searched for in the previously encoded frame. The position of the most similar block and the current block is called a motion vector. The process of finding a motion vector is called motion estimation, and the range for finding a motion vector is called a search range. The search range is determined by the input given by the user.
움직임 추정은 MVP를 탐색의 중심 좌표로 설정하고 이 중심 좌표를 중심으로 사용자에 의해 주어진 탐색범위의 범위 만큼 움직임 벡터를 탐색하는 것이다. 따라서 탐색 범위 내에서 찾아진 최적 포인트의 좌표와 MVP를 더함으로써 실제 움직임 벡터를 얻게 되며, 부호화 시에는 MVP로부터 움직임 벡터가 얼마나 떨어져 있는지(MVD에 해당됨)를 부호화 하게 된다. The motion estimation sets the MVP as the center coordinate of the search and searches for the motion vector by the range of the search range given by the user about the center coordinate. Accordingly, the actual motion vector is obtained by adding the coordinates of the optimum point found in the search range and the MVP, and during encoding, the distance of the motion vector from the MVP (corresponding to the MVD) is encoded.
본 발명에 따른 인접한 블록의 움직임 벡터를 이용한 고속 움직임 추정 방법에서는 MVP를 중심으로 탐색 범위가 설정되므로 이 탐색 범위는 움직임 벡터 보다는 움직임 벡터 차 (MVD)와 직접적으로 관련된다는 점을 주목하고 이에 대하여 움직임 추정방법을 제시한다. In the fast motion estimation method using the motion vectors of adjacent blocks according to the present invention, since the search range is set around the MVP, it is noted that the search range is directly related to the motion vector difference (MVD) rather than the motion vector. Provide an estimation method.
여기서 이전 프레임의 동일 위치의 블록을 '동일위치블록'이라고 칭하며, 도 3은 동일위치블록을 도식적으로 보여준다. Here, the same position block of the previous frame is referred to as 'same position block', and FIG. 3 schematically shows the same position block.
도2에 나타난 주변 블록 A, B, C, D, 그리고 도3에 나타난 동일위치블록 E의 움직임 벡터를 각각 라고 할 때, 현재 블록 X의 움직임 벡터는 통계적으로 들과 유사할 가능성이 높다. 따라서 이 벡터들과 현재 블록의 MVP와의 차이는 실제 부호화할 움직임벡터의 차벡터와 유사할 가능이 높다. The motion vectors of the neighboring blocks A, B, C, and D shown in FIG. , The motion vector of the current block X is statistically Likely to Therefore, the difference between these vectors and the MVP of the current block is likely to be similar to the difference vector of the motion vector to be actually encoded.
본 발명에 따른 인접한 블록의 움직임 벡터를 이용한 고속 움직임 추정 방법은 움직임 탐색범위는 현재 블록의 움직임 벡터의 크기가 아니라 차벡터 MVD가 포함될 수 있도록 움직임 탐색범위를 설정해야 한다는 점이다. 따라서, 본 발명에서는 차벡터 MVD의 크기가 크면 탐색범위를 크게 하고 MVD의 크기가 작으면 탐색범위 작게 설정하는 것이다.In the fast motion estimation method using the motion vectors of adjacent blocks according to the present invention, the motion search range should be set so that the difference vector MVD can be included instead of the size of the motion vector of the current block. Therefore, in the present invention, when the size of the difference vector MVD is large, the search range is increased, and when the size of the MVD is small, the search range is set small.
도 4는 본 발명에 따른 움직임 벡터를 이용한 움직임 추정방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a motion estimation method using a motion vector according to the present invention.
도 4에서 보는 바와 같이 본 발명에 따른 움직임 추정방법은 현재블럭의 주변 블록의 움직임 벡터()를 입력받고, (단계 S101) 현재 블록의 움직임 벡터의 예측 벡터(MVP)를 입력 받는다.(단계 S102) 입력된 주변 블록의 움직임 벡터와 예측 벡터의 차이를 계산하여 차벡터를 얻은 다음(단계 S103) 차벡터의 평균을 계산한다.(단계 S104)As shown in FIG. 4, the motion estimation method according to the present invention provides a motion vector of a neighboring block of the current block. ) Is inputted (step S101) and a prediction vector (MVP) of the motion vector of the current block. (Step S102) a difference vector is obtained by calculating a difference between the motion vector and the prediction vector of the input neighboring block (step S102). S103) Calculate the average of the difference vectors (step S104).
차벡터의 평균을 이용하여 x방향과 y방향의 탐색범위를 결정하고 난 다음(단계 S105) 단계 S105에서 결정된 탐색범위를 탐색 범위로하는 움직임 추정단계(S106)로 구성된다.After determining the search range in the x-direction and the y-direction by using the average of the difference vectors (step S105), the motion estimation step (S106) includes the search range determined in step S105 as the search range.
먼저 본 발명에 따른 움직임 추정방법은 현재 블럭의 주변 블록의 움직임 벡터()를 입력받고, 현재 블록의 움직임 벡터의 예측 벡터(MVP)를 입력 받는다. 입력된 주변 블록의 움직임 벡터와 예측 벡터의 차이를 계산하여 MVP로부터 움직임 벡터가 얼마나 떨어져 있는지를 나타내는 차벡터(MVD)를 획득한다. First, the motion estimation method according to the present invention provides a motion vector of a neighboring block of the current block. ) And a prediction vector (MVP) of the motion vector of the current block. The difference between the motion vector and the prediction vector of the input neighboring block is calculated to obtain a difference vector MVD indicating how far the motion vector is from the MVP.
현재 블록의 움직임 벡터가 매우 크다고 하더라도 MVP가 이 움직임 벡터와 유사하다면 MVD는 작은 값이 나오게 되고 좁은 탐색범위로도 현재 블록의 움직임 벡터를 성공적으로 찾아낼 수 있다. 따라서 MVD의 크기가 얼마인지를 가늠해내는 것이 중요한 데, 종래 방법에는 동적탐색방법은 이점을 고려하지 못하고 움직임 벡터 자체의 크기만을 고려하였다. 이에 따라 현재 블록의 MVD와 통계적으로 유사하다고 판단되는 MVP와의 차이 벡터 5개를 도입하여 탐색영역을 설정하는데 활용한다. 하기 <수학식1>은 이 차이 벡터 5개를 정의한다. 하기의 수학식들에서 는 현재 블록을 둘러싼 주변 블록의 움직임 벡터이고, MVP는 현재 블록의 움직임 벡터의 예측 벡터이며, MVD는 MVP로부터 움직임 벡터가 얼마나 떨어져 있는지를 나타내는 차벡터이다. Even if the motion vector of the current block is very large, if the MVP is similar to this motion vector, the MVD will have a small value and the motion vector of the current block can be found successfully with a narrow search range. Therefore, it is important to estimate the size of the MVD. In the conventional method, the dynamic search method does not consider the advantage but only the size of the motion vector itself. Accordingly, five difference vectors from MVP which are determined to be statistically similar to the MVD of the current block are introduced and used to set the search area.
, ,
, ,
, ,
<수학식1>의 5개의 벡터의 크기의 평균으로 현재 블록의 MVD가 어느 정도의 크기를 가질 것인지 추측할 수 있다. 벡터의 크기는 x방향과 y방향에 대해 각각 별도로 적용되며, x방향의 평균과 y방향의 평균은 각각 , 로 나타내며 <수학식2>와 같다. 여기서 5개의 벡터에 대해 평균을 취하였지만 5개 중 일부만을 취할 수도 있다.By the average of the magnitudes of the five vectors of
<수학식2>에서 A, C, D에 대한 차벡터는 블록의 위치에 따라 존재하지 않을 수 있으며, 이 경우 <수학식2>에 포함시키지 않는다. 즉, 만약 D에 대한 차벡터 ()가 존재하지 않는 경우에는 나머지 4개 벡터를 이용하여 평균을 계산한다. 차벡터의 평균은 <수학식2>에서 보는 바와 같이 구할 수 있을 뿐만 아니라 <수학식2>에 나타난 5개의 벡터의 일부 벡터들에 대한 평균으로도 구할 수 있으며 그 방법은 제한할 필요가 없다. 그래서 차벡터의 평균을 구하는 또 다른 방법의 예로서 <수학식3>이 있다. In Equation 2, the difference vectors for A, C, and D may not exist depending on the position of the block, and in this case, they are not included in Equation 2. That is, if the difference vector for D If none exists, use the remaining four vectors to calculate the mean. The average of the difference vectors can be obtained not only as shown in Equation 2, but also as an average of some vectors of the five vectors shown in Equation 2, and the method need not be limited. Thus, as an example of another method of calculating the mean of the difference vectors, Equation 3 is given.
<수학식2> 또는 <수학식3>과 유사한 방법에 의해 얻어진 차벡터의 평균을 기반으로 x방향과 y방향의 움직임 탐색범위를 설정한다. 즉, x방향과 y방향의 탐색범위 , 는 <수학식4>와 같이 설정할 수 있다. A motion search range in the x and y directions is set based on the average of the difference vectors obtained by the method similar to Equation (2) or (3). That is, the search range in the x direction and the y direction , Can be set as in Equation 4.
<수학식4>에서 max{ㆍ,ㆍ}는 두 개의 값 중 큰 값을 취하는 연산자이며, 는 MVD의 평균보다 몇 배의 범위까지 탐색범위를 확장할 것을 결정해주는 상수이며, 는 MVD가 0인 경우 탐색범위가 0이 되는 현상을 방지해주기 위한 최소 탐색 범위를 나타내는 상수이다. 를 크게 함으로써 실제 MVD가 탐색범위에 포함될 가능성이 커지는 반면 탐색범위가 넓어져 계산량이 보다 더 요구된다. 한편으로는 를 통해 움직임 추정기의 계산량을 제어할 수도 있다. 적은 계산량이 요구되는 상황이라면 를 작게 설정함으로써 성능 저하를 일부 감수하면서 계산량을 감소할 수 있게 된다.In Equation 4, max {·, ·} is an operator that takes the larger of two values. Is a constant that determines how to extend the search by several times the average of the MVD. Is a constant indicating the minimum search range to prevent the search range from becoming zero when MVD is zero. By increasing, the possibility of actual MVD being included in the search range increases, while the search range is widened, which requires more computation. On one hand The amount of computation of the motion estimator can also be controlled through. In situations where a small amount of computation is required By setting the to small, it is possible to reduce the amount of calculation while taking part in performance degradation.
그러므로, 주변 블록의 움직임벡터와 현재 블록의 움직임 추정의 탐색 중심점과의 차이가 크면 즉, 차벡터가 크면 넓은 범위를 탐색한다. 또한, 주변 블록의 움직임벡터와 현재 블록의 움직임 추정의 탐색 중심점과의 차이가 작으면 즉, 차벡터가 작으면 좁은 범위를 탐색함으로써 계산량을 크게 감소시키는 것이다. Therefore, if the difference between the motion vector of the neighboring block and the search center point of the motion estimation of the current block is large, that is, the difference vector is large, a wide range is searched. In addition, if the difference between the motion vector of the neighboring block and the search center point of the motion estimation of the current block is small, that is, the difference vector is small, the calculation amount is greatly reduced by searching for a narrow range.
이상에서 본 발명의 바람직한 실시예를 상세히 설명하였으나, 본 발명은 이에 한정되는 것이 아니며 본 발명의 기술적 사상의 범위내에서 당업자에 의해 그 개량이나 변형이 가능하다. Although the preferred embodiment of the present invention has been described in detail above, the present invention is not limited thereto and may be improved or modified by those skilled in the art within the scope of the technical idea of the present invention.
Claims (3)
ⅱ)현재 블록의 움직임 벡터의 예측 벡터(MVP)를 입력 받고, 입력된 주변 블록의 움직임 벡터와 상기 예측 벡터(MVP)의 차이를 계산하여 차벡터를 얻는 단계;
ⅲ)상기 단계에서 획득된 차벡터의 평균을 계산하고 차벡터의 평균을 이용하여 x방향과 y방향의 탐색범위를 설정하는 단계; 그리고,
ⅳ)상기 ⅲ단계에서 설정된 탐색범위를 탐색범위로 하는 움직임을 추정하는 단계를 포함하는 인접한 블록의 움직임 벡터를 이용한 고속 움직임 추정 방법. (I) the motion vector of the neighboring block surrounding the current block that performs encoding );
Ii) receiving a prediction vector (MVP) of a motion vector of a current block, and calculating a difference vector by calculating a difference between the input motion vector of the neighboring block and the prediction vector (MVP);
Iii) calculating an average of the difference vectors obtained in the step and setting a search range in the x direction and the y direction using the average of the difference vectors; And,
Iii) estimating a motion having the search range set in step 로 as the search range.
수학식 1
상기 수학식 1에서 , 는 x방향과 y방향의 탐색범위, max{ㆍ,ㆍ}는 두 개의 값 중 큰 값을 취하는 연산자, 는 MVD의 평균보다 몇 배의 범위까지 탐색범위를 확장할 것을 결정해주는 상수이며, 는 MVD가 0인 경우 탐색범위가 0이 되는 현상을 방지해주기 위한 최소 탐색 범위를 나타내는 상수임. The adjacent block as set forth in claim 1, wherein the setting of the motion search range in the x direction and the y direction based on the mean of the difference vectors is performed by Equation 1 below to be proportional to the mean of the difference vectors. Fast Motion Estimation Using Motion Vectors.
Equation 1
In Equation (1) , Is the search range in the x and y directions, max {·, ·} is the operator that takes the larger of the two values, Is a constant that determines how to extend the search by several times the average of the MVD. Is a constant that indicates the minimum search range to prevent the search range from becoming zero when MVD is zero.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110122726A KR101324352B1 (en) | 2011-11-23 | 2011-11-23 | Method for fast motion estimation using motion vectors of neighboring blocks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110122726A KR101324352B1 (en) | 2011-11-23 | 2011-11-23 | Method for fast motion estimation using motion vectors of neighboring blocks |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130057020A true KR20130057020A (en) | 2013-05-31 |
KR101324352B1 KR101324352B1 (en) | 2013-11-01 |
Family
ID=48664848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110122726A KR101324352B1 (en) | 2011-11-23 | 2011-11-23 | Method for fast motion estimation using motion vectors of neighboring blocks |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101324352B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111919439A (en) * | 2018-04-02 | 2020-11-10 | 华为技术有限公司 | Video coding and decoding method and device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100597397B1 (en) * | 2003-11-06 | 2006-07-07 | 삼성전자주식회사 | Method For Encording Moving Picture Using Fast Motion Estimation Algorithm, And Apparatus For The Same |
-
2011
- 2011-11-23 KR KR1020110122726A patent/KR101324352B1/en not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111919439A (en) * | 2018-04-02 | 2020-11-10 | 华为技术有限公司 | Video coding and decoding method and device |
CN111919439B (en) * | 2018-04-02 | 2022-01-14 | 华为技术有限公司 | Method and device for acquiring motion vector, method and device for constructing motion vector set and computer-readable storage medium |
US11394996B2 (en) | 2018-04-02 | 2022-07-19 | Huawei Technologies Co., Ltd. | Video coding method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
KR101324352B1 (en) | 2013-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2021022936A (en) | Image prediction method and related device | |
KR101384437B1 (en) | Speculative start point selection for motion estimation iterative search | |
JP5044568B2 (en) | Motion estimation using predictive guided decimation search | |
JP5752204B2 (en) | Image decoding apparatus and image decoding method | |
JP2008252176A (en) | Motion picture encoder and encoding method | |
JP6825765B2 (en) | Filtering methods and equipment for removing blocking artifacts | |
AU2015213343A1 (en) | Video decoder, video encoder, video decoding method, and video encoding method | |
JP5649523B2 (en) | Video encoding method, apparatus, video decoding method, apparatus, and program thereof | |
JP4937224B2 (en) | Image encoding device | |
JP5248632B2 (en) | Techniques for motion estimation | |
JP6607040B2 (en) | Motion vector search apparatus, motion vector search method, and recording medium for storing motion vector search program | |
JP2011229145A (en) | Method of performing hybrid multi-hypothesis prediction in moving picture encoding by encoding unit, and related device | |
KR101623064B1 (en) | Video encoding device, video encoding method and video encoding program | |
KR100618910B1 (en) | Motion Estimation apparatus and method with optmized operation complexity | |
JP2009049519A (en) | Prediction motion vector generating device of motion picture coding device | |
CN107613294B (en) | Method for rapidly skipping P, B frame intra-frame prediction mode in HEVC | |
JP2007228519A (en) | Image encoding device and image encoding method | |
US9077996B2 (en) | Predicted motion vectors | |
EP2648409B1 (en) | Quantization control device and method, and quantization control program | |
KR101324352B1 (en) | Method for fast motion estimation using motion vectors of neighboring blocks | |
Pan et al. | Predictive and distribution-oriented fast motion estimation for H. 264/AVC | |
Lin et al. | Improved parabolic prediction-based fractional search for H. 264/AVC video coding | |
KR101182037B1 (en) | Apparatus and method for high precision motion estimation in video signal | |
Jeong et al. | A diamond web-grid search algorithm combined with efficient stationary block skip method for H. 264/AVC motion estimation | |
JP5521859B2 (en) | Moving picture coding apparatus and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161005 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |