KR100747544B1 - Motion estimation method and apparatus - Google Patents
Motion estimation method and apparatus Download PDFInfo
- Publication number
- KR100747544B1 KR100747544B1 KR1020060029893A KR20060029893A KR100747544B1 KR 100747544 B1 KR100747544 B1 KR 100747544B1 KR 1020060029893 A KR1020060029893 A KR 1020060029893A KR 20060029893 A KR20060029893 A KR 20060029893A KR 100747544 B1 KR100747544 B1 KR 100747544B1
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- current block
- sub
- motion
- matching
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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
Abstract
Description
도 1a, 도 1b는 일반적인 서브-픽셀 움직임 추정 방법의 예들을 보인 도면1A and 1B show examples of a general sub-pixel motion estimation method.
도 2는 움직임 벡터 후보의 수 N에 따라 달라지는 테스트 비디오 시퀀스에 대한 PSNR 대 비트 레이트와의 관계를 보인 그래프2 is a graph showing the relationship of PSNR vs. bit rate for a test video sequence that depends on the number N of motion vector candidates.
도 3은 고정된 비트 레이트 하에서 동일한 비디오 시퀀스에 대한 PSNR이 움직임 벡터의 후보 수 N에 따라 달라지는 예를 보인 도면3 shows an example in which the PSNR for the same video sequence under a fixed bit rate depends on the candidate number N of motion vectors.
도 4는 본 발명에 따른 움직임 추정 장치의 일 실시예를 보인 구성 블록도Figure 4 is a block diagram showing an embodiment of a motion estimation apparatus according to the present invention
도면의 주요부분에 대한 부호의 설명Explanation of symbols for main parts of the drawings
10 : 정수 MV 탐색부 20 : 제1 MV 후보 선택부10: integer MV search unit 20: first MV candidate selection unit
30 : 제1 MV 후보 저장부 40 : 서브-픽셀 MV 탐색부30: first MV candidate storage 40: sub-pixel MV searcher
50 : 제2 MV 후보 선택부 60 : 제2 MV 후보 저장부50: second MV candidate selecting unit 60: second MV candidate storing unit
70 : 레이트 왜곡 MV 탐색부70: rate distortion MV search unit
본 발명은 디지털 영상 압축에 관한 것으로서, 특히 블록 매칭 움직임 추정 방법 및 장치에 관한 것이다. The present invention relates to digital image compression, and more particularly to a method and apparatus for block matching motion estimation.
일반적으로 압축되지 않은 디지털 데이터의 대단히 큰 사이즈 때문에, 압축은 영상 신호들에 대해 적용되며, 그 결과 전송 및 저장될 수 있다. 즉, 디지털적으로 부호화된 영상 데이터(이하, 디지털 영상 데이터)를 전송하기 위해 요구되는 대역폭을 최소화하기 위해 디지털적으로 부호화되는 영상 데이터에 대한 다양한 종류의 영상 압축 알고리즘이 개발되고 있다. In general, because of the very large size of the uncompressed digital data, compression is applied to the video signals, and as a result can be transmitted and stored. That is, various types of image compression algorithms for digitally encoded image data have been developed to minimize the bandwidth required for transmitting digitally encoded image data (hereinafter, digital image data).
통상 ISO MPEG(Moving Pictures Expert Group)-1, MPEG-2, MPEG-4, ITU-T(Telecommunication Standardization Sector of the International Telecommunication Union) H.261, H.263, H.263+, H.264/AVC를 포함하는 많은 국제 표준들이 있다. 그리고 이들은 통상 VCD, DVD, DVB, HDTV, 비디오 컨퍼러싱, 비디오 에디팅, 인터넷 상의 비디오 스트림 등과 같은 비디오 분포에 사용된다. Typically ISO Moving Pictures Expert Group (MPEG-1), MPEG-2, MPEG-4, Telecommunication Standardization Sector of the International Telecommunication Union (ITU-T) H.261, H.263, H.263 +, H.264 / There are many international standards, including AVC. And they are commonly used for video distribution such as VCD, DVD, DVB, HDTV, video conferencing, video editing, video streams on the Internet, and the like.
이들 표준들 중 하나의 일반적 특징은 움직임 추정이 비디오 시퀀스들에서 고유의 시간적 리던던시(redundancy)를 줄이는데 사용된다는 것이다. 움직임 추정에 있어서, 각 프레임은 전형적으로 16x16 픽셀들을 포함하는 사각 블록들(square blocks) 또는 매크로블록들로 구분된다. 그러한 현재 블록/매크로블록의 각각에 대해서, 철저한 풀 탐색(full exhaustive search)이 기 정의된 참조 프레임의 탐색 영역 내에서 전형적으로 수행된다. 상기 참조 프레임은 하나의 비디오 시퀀스에서 기 정의된 매칭 측정(criterion) 함수에 따라 현재 부호화할 블록/매크로블록과 가장 유사한 이전 프레임 또는 미래의 프레임이 될 수 있다. 현대 부호화 표준에 있어서, 각 프레임 또는 필드에 대한 움직임 추정은 복수의 참조 프레임들을 기반으로 수행된다. A general feature of one of these standards is that motion estimation is used to reduce inherent temporal redundancy in video sequences. In motion estimation, each frame is typically divided into square blocks or macroblocks containing 16x16 pixels. For each of those current blocks / macroblocks, a full exhaustive search is typically performed within the search area of the predefined reference frame. The reference frame may be a previous frame or a future frame most similar to a block / macroblock to be currently encoded according to a predefined criterion function in one video sequence. In the modern coding standard, motion estimation for each frame or field is performed based on a plurality of reference frames.
상기 매칭 측정 함수는 전형적으로 SAD(Sum of the Absolute Difference)이다. 또다른 통상적인 매칭 측정 함수는 SSD(Sum of the Square Difference)를 포함한다. 즉 현재 블록/매크로블록과 참조 프레임의 탐색 영역 내 각 참조 블록/매크로블록과의 매칭 측정 함수(예를 들어,SAD 또는 SSD)를 구하고, 그 중 가장 작은 측정 함수의 참조 블록/매크로블록이 상기 현재 블록/매크로블록과 가장 유사한 참조 블록/매크로 블록이 된다. 이와 같이 움직임 추정은 소정의 측정 함수를 이용하여 현재 블록/매크로블록과 가장 유사한 참조 블록/매크로블록의 위치 차이를 나타내는 움직임 벡터를 구하는 과정이다. 여기서 SAD 값은 참조 프레임 내 각 참조 블록과 현재 블록과의 차의 절대값을 의미한다. The matching measurement function is typically a sum of the absolute difference (SAD). Another common match measurement function includes a sum of the square difference (SSD). That is, a matching measurement function (eg, SAD or SSD) between each current block / macroblock and each reference block / macroblock in the search region of the reference frame is obtained, and the reference block / macroblock of the smallest measurement function is It becomes a reference block / macro block most similar to the current block / macroblock. As described above, motion estimation is a process of obtaining a motion vector indicating a position difference of a reference block / macroblock most similar to the current block / macroblock using a predetermined measurement function. Here, the SAD value means the absolute value of the difference between each reference block and the current block in the reference frame.
따라서 현재 블록은 움직임 벡터, 현재 블록과 상기 참조 프레임의 움직임 벡터에 상응하는 가장 유사한 블록 사이의 차로서 압축 부호화될 수 있다. Thus, the current block may be compression coded as the difference between the motion vector, the most similar block corresponding to the motion vector of the current block and the reference frame.
현대 부호화 표준에 있어서, 움직임 벡터들은 매크로블록의 모든 분할(divisions)과 서브분할(subdivisions) 예를 들어, 16x16, 8x16, 16x8, 8x8, 4x8, 8x4, 그리고 4x4 서브블록들에 대해 개별적으로 탐색된다. In modern coding standards, motion vectors are searched separately for all divisions and subdivisions of macroblocks, for example 16x16, 8x16, 16x8, 8x8, 4x8, 8x4, and 4x4 subblocks. .
전술한 것처럼, 움직임 벡터들은 복수의 참조 프레임들로부터 모든 프레임 또는 모든 픽쳐들에 대해 탐색된다. 그 외에도, 좋은 부호화 품질을 얻기 위해서 움직임 벡터들의 탐색은 서브픽셀 정확도(하프-픽셀 또는 1/4-픽셀 정확도)로 수행된다. 여기서, 움직임 추정은 비디오 부호화 처리의 아주 중요하고 시간 소모적인 부분이다. As described above, motion vectors are searched for every frame or all pictures from a plurality of reference frames. In addition, the search for motion vectors is performed with subpixel accuracy (half-pixel or quarter-pixel accuracy) to obtain good coding quality. Here, motion estimation is a very important and time consuming part of the video encoding process.
그런데, 상기 철저한 풀 탐색은 매우 느리다는 것은 잘 알려져 있다. However, it is well known that the exhaustive full search is very slow.
따라서 압축된 영상 신호로부터 재생될 수 있는 영상의 화질에 심한 악영향을 미치지 않는 고속 움직임 추정 알고리즘을 개발하는 것이 매우 바람직하다. Therefore, it is highly desirable to develop a fast motion estimation algorithm that does not adversely affect the image quality of an image that can be reproduced from a compressed image signal.
도 1a, 도 1b는 종래의 움직임 추정 방법의 일 실시예들을 보인 도면이다. 1A and 1B illustrate exemplary embodiments of a conventional motion estimation method.
도 1a를 보면, 현재와 참조 프레임의 예비적인(preliminary) 전체 보간과 보간된 탐색 공간에서의 탐색으로 구성된다. Referring to FIG. 1A, it consists of a preliminary full interpolation of the current and reference frame and a search in the interpolated search space.
도 1b는 계층적 탐색에 특징이 있다. 즉, 전역(gloval) 정수 움직임 벡터 탐색을 수행하여 최소 측정 함수를 갖는 최적의 정수 움직임 벡터를 구한다. 이어 상기 최적의 움직임 벡터로 찾아낸 로컬 부근(vicinity)에서 서브-픽셀 움직임 벡터 탐색을 수행하여 현재 블록의 움직임 벡터를 구한다. 1B is characterized by a hierarchical search. That is, a global integer motion vector search is performed to find an optimal integer motion vector having a minimum measurement function. Next, a sub-pixel motion vector search is performed in a local neighborhood found as the optimal motion vector to obtain a motion vector of the current block.
이들 움직임 추정 방법의 장점과 단점은 명백하다. 도 1a는 좋은 움직임 추정 결과를 얻지만, 매우 노동 집약적인(labor-intensive)이고 느리다는 단점이 있다. 도 1b는 대단히 빠르지만, 글로벌 극값(extremum)을 산출하지 못하므로 질적인 면에서 좋지 못한 단점이 있다. The advantages and disadvantages of these motion estimation methods are obvious. Figure 1A achieves good motion estimation results, but has the disadvantage of being very labor-intensive and slow. Although FIG. 1B is very fast, the global extremum cannot be calculated, which is a disadvantage in terms of quality.
테스트 비디오 시퀀스에 대한 수많은 경험이 다음의 사실에서 보여지고 있다. 만일 첫 번째 탐색 단계 후, 가장 최적의 움직임 벡터 대신 N개의 움직임 벡터 후보들을 선택하고, 그들 각각에 대해 로컬 서브-픽셀 탐색을 수행한다면, 부호화 품질이 본질적으로 높아질 것이다. Numerous experiences with test video sequences are shown in the following facts. If after the first search step, we select N motion vector candidates instead of the most optimal motion vectors and perform a local sub-pixel search for each of them, the coding quality will be essentially higher.
도 2는 서로 다른 값을 갖는 N개의 움직임 벡터 후보들에 대해서 PSNR(Peak Signal to Noise Ratio) 대 테스트 비디오 시퀀스 'FOREMAN.QCIF'의 비트 레이트와의 관계를 보인 그래프(curve)이다. FIG. 2 is a graph showing a relationship between a peak signal to noise ratio (PSNR) versus a bit rate of a test video sequence 'FOREMAN.QCIF' for N motion vector candidates having different values.
도 2를 보면, 움직임 벡터 후보들의 수 N이 증가함에 따라 부호화 품질이 증가함을 알 수 있다. Referring to FIG. 2, it can be seen that coding quality increases as the number N of motion vector candidates increases.
도 3은 동일한 비디오 시퀀스에 대해 고정된 비트 레이트(즉 75Kbit/sec)에서 움직임 벡터 후보들의 수에 따라 평균 PSNR이 달라지는 예를 보이고 있다. 3 shows an example in which the average PSNR varies depending on the number of motion vector candidates at a fixed bit rate (ie, 75 Kbit / sec) for the same video sequence.
도 3을 보면, 탐색 영역의 통상적인 크기가 1089(=(2*search_range + 1)* (2*search_range + 1), 여기서 search_range=32)인 경우에, 상기 그래프는 움직임 벡터 후보들의 수가 50이 될 때 가장 만족한 것처럼 보이고, 그 결과에 따르면 그 이상의 증가는 무의미함을 알 수 있다. Referring to FIG. 3, when the typical size of the search region is 1089 (= (2 * search_range + 1) * (2 * search_range + 1), where search_range = 32), the graph shows that the number of motion vector candidates is 50. It seems to be most satisfying when it is possible, and the result shows that further increase is meaningless.
따라서 본 발명의 목적은 계층적 움직임 벡터 탐색 과정으로 적응적 움직임 추정을 수행함으로써, 움직임 추정 과정을 빠르고 단순화하는 방법 및 장치를 제공함에 있다. Accordingly, an object of the present invention is to provide a method and apparatus for quickly and simplifying a motion estimation process by performing adaptive motion estimation with a hierarchical motion vector search process.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 움직임 추정 방법은, Motion estimation method according to the present invention for achieving the above object,
(a) 부호화할 현재 블록과 참조 프레임 내 탐색 영역의 각 참조 블록과의 매칭 측정값을 이용하여 상기 현재 블록에 대한 정수 픽셀 단위의 움직임 벡터를 탐색하는 단계;(a) searching for a motion vector of an integer pixel unit for the current block by using a matching measure between a current block to be encoded and each reference block of a search region in a reference frame;
(b) 상기 정수 픽셀 단위의 매칭 측정값과 제1 임계값을 비교하여 상기 (a) 단계에서 탐색된 정수 픽셀 단위의 움직임 벡터들로부터 제1 움직임 벡터 후보들을 선택하는 단계;(b) selecting first motion vector candidates from the motion vectors of the integer pixel unit found in the step (a) by comparing the matching measurement value of the integer pixel unit and a first threshold value;
(c) 상기 제1 움직임 벡터 후보들이 모두 모인 로컬 영역에서 현재 블록에 대한 서브-픽셀 단위의 움직임 벡터를 탐색하는 단계; (c) searching for a motion vector on a sub-pixel basis for a current block in a local region where all of the first motion vector candidates are collected;
(d) 상기 서브-픽셀 단위의 매칭 측정값과 제2 임계값을 비교하여 상기 (c) 단계에서 탐색된 서브-픽셀 단위의 움직임 벡터들로부터 제2 움직임 벡터 후보들을 선택하는 단계; 및(d) selecting second motion vector candidates from the motion vectors of the sub-pixel units found in the step (c) by comparing the matching measurement value of the sub-pixel units and a second threshold value; And
(e) 상기 제2 움직임 벡터 후보들을 기반으로 비트 레이트 왜곡을 분석하여 상기 현재 블록에 대한 최적 예측 모드를 선택하는 단계를 포함하여 이루어지는 것을 특징으로 한다.and (e) analyzing the bit rate distortion based on the second motion vector candidates to select an optimal prediction mode for the current block.
상기 매칭 측정값은 상기 현재 블록과 움직임 보상된 블록과의 SAD(sum of absolute difference)로서 계산되는 것을 특징으로 한다.The matching measurement value is calculated as a sum of absolute difference (SAD) between the current block and the motion compensated block.
상기 매칭 측정값은 상기 현재 블록과 움직임 보상된 블록과의 SSD(sum of square difference)로서 계산되는 것을 특징으로 한다.The matching measurement value is calculated as a sum of square difference (SSD) between the current block and the motion compensated block.
상기 (b) 단계는 상기 선택된 제1 움직임 벡터 후보들을 저장하고, 상기 제1 임계값을 재계산하는 단계를 더 포함하는 것을 특징으로 한다.The step (b) may further include storing the selected first motion vector candidates and recalculating the first threshold.
상기 (d) 단계는 상기 선택된 제2 움직임 벡터 후보들을 저장하고, 상기 제2 임계값을 재계산하는 단계를 더 포함하는 것을 특징으로 한다.The step (d) may further include storing the selected second motion vector candidates and recalculating the second threshold.
본 발명에 따른 움직임 추정 장치는, 부호화할 현재 블록과 참조 프레임 내 탐색 영역의 각 참조 블록과의 매칭 측정값을 이용하여 상기 현재 블록에 대한 정수 픽셀 단위의 움직임 벡터를 탐색하는 정수 MV 탐색부; 상기 정수 픽셀 단위의 매칭 측정값과 제1 임계값을 비교하여 상기 정수 픽셀 단위의 움직임 벡터들로부터 제1 움직임 벡터 후보들을 선택하여 저장하는 제1 MV 후보 선택 및 저장부; 상기 제1 움직임 벡터 후보들이 모두 모인 로컬 영역에서 현재 블록에 대한 서브-픽셀 단위의 움직임 벡터를 탐색하는 서브-픽셀 MV 탐색부; 상기 서브-픽셀 단위의 매칭 측정값과 제2 임계값을 비교하여 상기 서브-픽셀 단위의 움직임 벡터들로부터 제2 움직임 벡터 후보들을 선택하여 저장하는 제2 MV 후보 선택 및 저장부; 및 상기 제2 움직임 벡터 후보들을 기반으로 비트 레이트 왜곡을 분석하여 상기 현재 블록에 대한 최적 예측 모드를 선택하는 레이트 왜곡 MV 탐색부를 포함하여 구성되는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a motion estimation apparatus comprising: an integer MV search unit for searching for a motion vector of an integer pixel unit for the current block by using a matching measurement value of a current block to be encoded and each reference block of a search region in a reference frame; A first MV candidate selection and storage unit comparing the matching measurement value in the integer pixel unit with a first threshold value to select and store first motion vector candidates from the motion vectors in the integer pixel unit; A sub-pixel MV search unit for searching for a motion vector of a sub-pixel unit for the current block in a local region where all of the first motion vector candidates are collected; A second MV candidate selection and storage unit comparing the matching measurement value in the sub-pixel unit with a second threshold value to select and store second motion vector candidates from the motion vectors in the sub-pixel unit; And a rate distortion MV searcher for selecting an optimal prediction mode for the current block by analyzing bit rate distortion based on the second motion vector candidates.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, with reference to the accompanying drawings illustrating the configuration and operation of the embodiment of the present invention, the configuration and operation of the present invention shown in the drawings and described by it will be described as at least one embodiment, By the technical spirit of the present invention described above and its core configuration and operation is not limited.
본 발명은 현재 프레임 픽쳐를 매크로블록들의 셋트로 분할하고, 그들 각각을 다른 사이즈의 블록들이나 서브 블록들의 셋트로 분할하여 수행한다. The present invention divides the current frame picture into a set of macroblocks and divides each of them into a set of blocks or subblocks of different sizes.
본 발명은 부호화될 현재 프레임과 참조 프레임 내 블록들과 매크로블록들의 원래 해상도를 사용하여 첫 번째 탐색을 수행한다. 여기서 참조 프레임은 비디오 시퀀스 상에서 부호화될 프레임의 이전 또는 이후 프레임들이다. 상기 탐색은 풀(또는 소모적인) 탐색 또는 어떤 종류의 빠른 탐색 기술이 될 수 있다. 상기 첫 번 째 탐색 단계가 수행되면 움직임 벡터 후보들의 수가 정해진다. 이들 움직임 벡터 후보들은 정의된 매칭 측정 함수 즉, 계산된 매칭 측정 값(예를 들면, SAD 값)을 두 개의 적응적인 임계값과 비교하여 선택된다. 상기 두 개의 임계값들 중 제1 임계값은 최근 도달한 최적 매칭 측정값과 같은데 반해, 제2 임계값은 하나의 변위(displacement) 상에서 제1 임계값보다 작다. The present invention performs a first search using the original resolution of the blocks and macroblocks in the current frame and the reference frame to be encoded. Here, the reference frames are frames before or after the frame to be encoded on the video sequence. The search may be a full (or exhaustive) search or some kind of fast search technique. When the first search step is performed, the number of motion vector candidates is determined. These motion vector candidates are selected by comparing the defined matching measurement function, i.e. the calculated matching measurement value (e.g., SAD value), with two adaptive thresholds. The first of the two thresholds is equal to the most recently reached best match measure, whereas the second threshold is less than the first threshold on one displacement.
여기서 상기 임계값은 다음 탐색 단계에서 매칭 측정값을 향상시키기 위한 가능성을 고려하여 추정된다. 모든 후보 움직임 벡터들은 움직임 추정의 두 번째 단계를 통과한다. 두 번째 단계에서, 상기 후보 움직임 벡터들로부터의 선택은 현재 프레임과 참조 프레임 내 블록들과 매크로블록들의 서브 픽셀(하프-픽셀 및/또는 1/4-픽셀) 해상도를 사용하여 수행된다. Here, the threshold value is estimated in consideration of the possibility to improve the matching measure in the next search step. All candidate motion vectors pass the second step of motion estimation. In a second step, the selection from the candidate motion vectors is performed using the subpixel (half-pixel and / or quarter-pixel) resolution of blocks and macroblocks in the current frame and the reference frame.
상기 서브-픽셀 탐색은 움직임 벡터 후보들 모두가 집중한 로컬 영역에서 수행되고, 상기 서브-픽셀 보간은 이들 로컬 영역들에 대해서만 요구되며, 전체 참조 프레임에 대해서는 요구되지 않는다. 최적의 움직임 벡터는 SAD 또는 SSD와 같은 매칭 측정 함수뿐만 아니라 제2 탐색 단계의 결과로서 찾은 모든 움직임 벡터에 대해 수행된 비트 레이트/왜곡 분석의 측정(criteria)을 고려하여 얻은 제2 단계 탐색의 결과로부터 선택될 수 있다. The sub-pixel search is performed in a local region where all of the motion vector candidates are concentrated, and the sub-pixel interpolation is required only for these local regions, not for the entire reference frame. The optimal motion vector is the result of the second phase search, taking into account the measurement of the bit rate / distortion analysis performed on all motion vectors found as a result of the second search step, as well as matching measurement functions such as SAD or SSD. Can be selected from.
도 4는 본 발명의 가장 바람직한 움직임 블록 추정기의 블록 구조를 보인 것으로서, 정수 MV 탐색부(10), 제1 MV 후보 선택부(20), 제1 MV 후보 저장부(30), 서브-픽셀 MV 탐색부(40), 제2 MV 후보 선택부(50), 제2 MV 후보 저장부(60), 레이트 왜곡 MV 탐색부(70)를 포함하여 구성된다.4 shows a block structure of the most preferable motion block estimator of the present invention, wherein an integer
이와 같이 구성된 본 발명에서 하나의 블록(그것의 크기는 완전한 매크로블록부터 좀 더 작은 서브블록까지 다를 수 있다.)에 대한 움직임 추정은 도 1b의 기존 움직임 벡터 탐색 방법과 유사한 정수 MV 탐색부(10)에서 시작된다. 하지만, 상기 탐색의 결과는 탐색 측정 함수에 따라 찾아낸 가장 최적의 움직임 벡터일 뿐만 아니라 제1 MV 후보 선택부(20)에서 선택되어 제1 MV 후보 저장부(30)에서 저장된 최적의 움직임 벡터에 대한 후보들의 전체 셋트이다. In the present invention configured as described above, motion estimation for one block (its size may vary from a full macroblock to a smaller subblock) is an integer
상기 정수 MV 탐색부(10)에서, MV 탐색 영역의 스캐닝은 나선형의 순서로 수행되고, 매칭 측정 값 Si는 상기 탐색 영역 내 모든 참조 블록과 현재 블록에 대해 계산된다. 상기 계산된 매칭 측정값 Si는 제1 MV 후보 선택부(20)의 입력들 중 하나가 된다. 다른 입력에 대해서, 제1 MV 후보 선택부(20)는 제1 MV 후보 저장부(30)로부터 선택 임계값 T1,T2를 수신한다. In the integer
상기 선택 임계값 T1, T2는 다음에서 나타내는 적응적인 값들을 갖는다. The selection thresholds T1 and T2 have adaptive values as shown below.
즉, 상기 선택 임계값 T1은 하기의 수학식 1과 같이 전체 탐색 영역을 스캐닝한 시점까지 구한 현재 블록에 대한 최적의 매칭 측정값과 같다. That is, the selection threshold T1 is equal to the optimal matching measurement value for the current block obtained until the time when the entire search area is scanned, as shown in
상기 선택 임계값 T2는 하기의 수학식 2와 같이 쉬프트(shift) △T에 의해 T1보다 더 크다.The selection threshold T2 is larger than T1 by shift ΔT as shown in Equation 2 below.
상기 T1와 T2 사이의 상기 쉬프트 △T는 서브-픽셀 탐색 동안 가능한 모든 매칭 측정 함수를 감소시키는 상측 경계와 같다. The shift ΔT between the T1 and T2 is equal to an upper boundary that reduces all possible matching measurement functions during the sub-pixel search.
상기 쉬프트 값 △T는 다양한 인자들(factors)에 따라 달라지고, 전체 탐색 과정 중에 변환될 수 있으나, 상기 과정의 시작에서 그것은 미리 정의되어야만 한다. The shift value ΔT depends on various factors and may be converted during the entire search process, but at the beginning of the process it must be defined in advance.
상기 제1 MV 후보 선택부(20)가 매칭 측정 값 Si와 선택 임계값 T1, T2를 수신하면, 다음의 비교들이 수행된다. 만일 상기 선택 임계값 T2가 하기의 수학식 3의 조건을 만족한다면, 즉 매칭 측정값 Si가 선택 임계값 T2보다 작거나 같다면 상기 매칭 측정값 Si에 해당하는 i번째 참조 블록이 MV 후보들의 셋트에 포함될 것이다. When the first
또한, 상기 선택 임계값 T1이 하기의 수학식 4의 조건을 만족한다면, 즉 매칭 측정값 Si가 선택 임계값 T1보다 작거나 같다면, 선택 임계값 T1은 하기의 수학식 5와 같이 상기 매칭 측정값 Si 값으로 재할당되고, 선택 임계값 T2는 상기 수학식 2에 따라 재계산되어야 한다.Further, if the selection threshold T1 satisfies the condition of Equation 4 below, that is, if the matching measurement value Si is less than or equal to the selection threshold T1, the selection threshold T1 is the matching measurement as shown in
이때 제1 MV 후보 선택부(20)는 상기 수학식 3의 조건을 만족하는 매칭 측정값 Si을 제공하는 움직임 벡터들을 선택하여 제1 MV 후보 저장부(30)로 인가한다. In this case, the first
상기 제1 MV 후보 저장부(30)는 상기 제1 MV 후보 선택부(20)에서 현재 움직임 벡터가 수신되자마자, 상기 제1 MV 후보 저장부(30)에 상기 움직임 벡터를 저장하는 것 외에 다음의 동작들이 행해져야만 한다. 만일 상기 수학식 4의 조건이 만족되고, 이어서 수학식 5와 같이 선택 임계값 T1의 재할당이 수행되면, 상기 MV 후보들의 셋트를 정정하고, 가망 없어진 MV 후보들 모두를 버리는 것이 필요하다. 즉, 재할당되기 이전의 선택 임계값보다 큰 매칭 측정값에 해당하는 MV 후보들을 버린다. As soon as the first MV
그리고 제한없는 가능한 후보들의 수를 제한하는 다른 실시예를 포함하여 순서적 또는 비순서적인 저장과 그 셋트의 사용 방법은 본 발명의 다른 실시예가 될 수 있다. And other embodiments of limiting the number of possible candidates, including ordinal storage and methods of using the set, may be other embodiments of the present invention.
그러나, 모든 경우에 있어서, 상기 수학식 3의 조건을 더 이상 만족하지 않는 모든 MV 후보들은 새로운 T2 값으로 적용되며, 더 이상 의미가 없어서 MV 후보들의 셋트들로부터 제외될 것이다. In all cases, however, all MV candidates that no longer satisfy the condition of
상기 제1 MV 후보 저장부(30)에서 출력되는 정정된 제1 MV 후보들의 셋트는 서브-픽셀 MV 탐색부(40)의 입력으로 인가된다. 상기 서브-픽셀 MV 탐색부(40)에서, 서브-픽셀 정밀도를 갖는 움직임 벡터 탐색은 상기 셋트의 모든 MV 후보들의 로컬 부근에서 수행된다. The set of corrected first MV candidates output from the first
전에 설명된 것과 유사하게, 상기 탐색의 결과는 서브-픽셀 탐색 기준에 따라 찾아낸 최적의 움직임 벡터값일 뿐만 아니라 제2 MV 후보 선택부(50)에 의해 선택되어 제2 MV 후보 저장부(60)에 저장된 최적 움직임 벡터 값에 대한 전체 후보 셋트이다. Similar to what has been described previously, the result of the search is not only the optimal motion vector value found according to the sub-pixel search criteria, but also selected by the second
상기 서브-픽셀 MV 탐색부(40)에서, 그 셋트 내 모든 MV 후보들의 로컬 부근을 스캐닝하는 것은 나선형 순서의 하프-픽셀 정밀도와 더블-나선형 순서의 1/4 정밀도로 수행된다. 전에 설명된 것과 유사하게, 매칭 측정값은 그 부근의 모든 위치의 참조 블록과 현재 블록에 대해 계산된다. 상기 계산된 매칭 측정값은 제2 MV 후보 선택부(50)의 입력들 중 하나가 된다. 다른 입력에 대해, 제2 MV 후보 선택부(50)는 제2 MV 후보 저장부(60)로부터 선택 임계값들을 수신한다. 상기 선택 임계값들은 상기 최적화된 타임 레벨에 도달하였음을 의미하고, 상기 레벨은 다음 단계에서 도달될 수 있다. 여기서 선택된 제1 움직임 벡터 후보들의 수와 선택된 제2 움직임 벡터 후보들의 수는 상수 N1과 N2(여기서, N1>N2)에 의해 제한된다. In the sub-pixel
상기 MV 후보들을 처리하여 임계값들을 선택하는 모든 동작들은 전술한 것과 유사하다. 상기 제2 MV 후보 저장부(60)에서 출력되는 정정된 MV 후보들의 셋트는 레이트 왜곡 MV 선택부(70)의 입력으로 인가된다. 상기 레이트 왜곡 MV 선택부(70)에서, 각 매크로블록에 대한 최적 모드의 선택은 모두 인트라 모드를 통해 이루어진다. 상기 인트라 예측 모드의 종류는 부호화 표준에 따라 다르다. 예를 들어, H.264/AVC 표준은 7개의 인터 모드와 하나의 스킵 모드를 제공한다. 그 선택은 알 고리즘에 의해 수행되고, 그 알고리즘은 현재 매크로블록과 상기 모드로 상기 매크로블록을 부호화하는 경우에 발생할 수 있는 왜곡을 부호화하기 위한 비트들을 미리 계산하여 평가한다. All operations of processing the MV candidates to select thresholds are similar to those described above. The set of corrected MV candidates output from the second
상기 모드 선택은 중대하고, 시간을 소모하는 단계이며, 소수 후보들만이 그것의 해결에 참여할 수 있다. 결국 상기 현재 블록의 최적의 움직임 벡터는 상기 매크로블록에 대한 최적 예측 모드의 선택이 수행되고 난 후에만 결정된다. The mode selection is a critical, time consuming step, and only a few candidates can participate in its solution. After all, the optimal motion vector of the current block is determined only after the selection of the optimal prediction mode for the macroblock is performed.
이상에서와 같이 본 발명에 따른 움직임 추정 방법 및 장치에 의하면, 적응적인 임계값을 적용하여 부호화할 현재 블록의 최적의 움직임 벡터 선택을 위한 후보 움직임 벡터들의 수를 정정함으로써, 움직임 추정 속도가 빨라지면서 부호화 품질을 향상시키는 효과가 있다. As described above, according to the motion estimation method and apparatus according to the present invention, the motion estimation speed is increased by correcting the number of candidate motion vectors for selecting the optimal motion vector of the current block to be encoded by applying an adaptive threshold value. There is an effect of improving the encoding quality.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다. Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060029893A KR100747544B1 (en) | 2006-03-31 | 2006-03-31 | Motion estimation method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060029893A KR100747544B1 (en) | 2006-03-31 | 2006-03-31 | Motion estimation method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100747544B1 true KR100747544B1 (en) | 2007-08-08 |
Family
ID=38602313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060029893A KR100747544B1 (en) | 2006-03-31 | 2006-03-31 | Motion estimation method and apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100747544B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101313335B1 (en) | 2009-03-11 | 2013-09-27 | 서울대학교산학협력단 | Encoding Interval Configuration Method and Apparatus, Video Multiple Encoding Method and Apparatus Using Same and Computer Readable Recording Medium Therefor |
CN110839155A (en) * | 2018-08-17 | 2020-02-25 | 北京金山云网络技术有限公司 | Method and device for motion estimation, electronic equipment and computer-readable storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0795594A (en) * | 1993-07-21 | 1995-04-07 | Daewoo Electron Co Ltd | Method and apparatus for detection of motion vector of half pixel accuracy |
JPH1175195A (en) | 1997-08-27 | 1999-03-16 | Toshiba Corp | Motion vector detection method and device |
KR20040016878A (en) * | 2001-07-27 | 2004-02-25 | 제너럴 인스트루먼트 코포레이션 | Methods and apparatus for sub-pixel motion estimation |
KR20040106202A (en) * | 2003-06-11 | 2004-12-17 | 학교법인 대양학원 | Method and apparatus for motion vector search |
-
2006
- 2006-03-31 KR KR1020060029893A patent/KR100747544B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0795594A (en) * | 1993-07-21 | 1995-04-07 | Daewoo Electron Co Ltd | Method and apparatus for detection of motion vector of half pixel accuracy |
JPH1175195A (en) | 1997-08-27 | 1999-03-16 | Toshiba Corp | Motion vector detection method and device |
KR20040016878A (en) * | 2001-07-27 | 2004-02-25 | 제너럴 인스트루먼트 코포레이션 | Methods and apparatus for sub-pixel motion estimation |
KR20040106202A (en) * | 2003-06-11 | 2004-12-17 | 학교법인 대양학원 | Method and apparatus for motion vector search |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101313335B1 (en) | 2009-03-11 | 2013-09-27 | 서울대학교산학협력단 | Encoding Interval Configuration Method and Apparatus, Video Multiple Encoding Method and Apparatus Using Same and Computer Readable Recording Medium Therefor |
CN110839155A (en) * | 2018-08-17 | 2020-02-25 | 北京金山云网络技术有限公司 | Method and device for motion estimation, electronic equipment and computer-readable storage medium |
CN110839155B (en) * | 2018-08-17 | 2021-12-03 | 北京金山云网络技术有限公司 | Method and device for motion estimation, electronic equipment and computer-readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20070268964A1 (en) | Unit co-location-based motion estimation | |
KR100681370B1 (en) | Predicting motion vectors for fields of forward-predicted interlaced video frames | |
US9930356B2 (en) | Optimized image decoding device and method for a predictive encoded bit stream | |
KR102606778B1 (en) | Memory access windows and padding for motion vector refinement and motion compensation | |
US7764738B2 (en) | Adaptive motion estimation and mode decision apparatus and method for H.264 video codec | |
US8817868B2 (en) | Sub-block transform coding of prediction residuals | |
US8059721B2 (en) | Estimating sample-domain distortion in the transform domain with rounding compensation | |
US9282340B2 (en) | Video encoding device, video encoding method, video encoding program, video decoding device, video decoding method, and video decoding program | |
US6925123B2 (en) | Method and apparatus for performing high quality fast predictive motion search | |
US7023921B2 (en) | Method and apparatus for determining block match quality | |
KR100739281B1 (en) | Motion estimation method and appratus | |
US20060233258A1 (en) | Scalable motion estimation | |
JP5321439B2 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
KR20040016878A (en) | Methods and apparatus for sub-pixel motion estimation | |
KR100560843B1 (en) | Method and Apparatus for Determining Search Range for Adaptive Motion Vector for Use in Video Encoder | |
US20090274211A1 (en) | Apparatus and method for high quality intra mode prediction in a video coder | |
US8379985B2 (en) | Dominant gradient method for finding focused objects | |
US8325807B2 (en) | Video coding | |
JP2010028220A (en) | Motion vector detecting device, motion vector detecting method, image encoding device, and program | |
JP2007243337A (en) | Moving image encoding method, moving image encoding device, program, and medium | |
KR100747544B1 (en) | Motion estimation method and apparatus | |
KR100305582B1 (en) | Fast motion estimating method using adaptive scan based on image complexity | |
JP4281667B2 (en) | Image encoding device | |
KR20050026661A (en) | Motion vector selection method for resolution down-sampling of motion video | |
JP6980889B2 (en) | Image coding method and image decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120727 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130724 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140724 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150724 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |