KR20040055518A - Estimating Method of motion using SAD - Google Patents

Estimating Method of motion using SAD Download PDF

Info

Publication number
KR20040055518A
KR20040055518A KR1020020082212A KR20020082212A KR20040055518A KR 20040055518 A KR20040055518 A KR 20040055518A KR 1020020082212 A KR1020020082212 A KR 1020020082212A KR 20020082212 A KR20020082212 A KR 20020082212A KR 20040055518 A KR20040055518 A KR 20040055518A
Authority
KR
South Korea
Prior art keywords
sad
value
search point
estimation
motion vector
Prior art date
Application number
KR1020020082212A
Other languages
Korean (ko)
Other versions
KR100527810B1 (en
Inventor
박성모
이미영
김승철
조한진
김종대
강현수
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR10-2002-0082212A priority Critical patent/KR100527810B1/en
Publication of KR20040055518A publication Critical patent/KR20040055518A/en
Application granted granted Critical
Publication of KR100527810B1 publication Critical patent/KR100527810B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability

Abstract

PURPOSE: A motion estimation method through an SAD(Sum of Absolute Difference) estimation is provided to decrease the number of search points satisfying the conditions in SEA(Successive Elimination Algorithm), thereby reducing the calculation amount. CONSTITUTION: An SAD estimation value in the present search point is compared with the minimum SAD value among SADs obtained till now(S107). When the SAD estimation value is larger than the minimum SAD value(SADmin), an SAD calculation is omitted or when the SAD estimation value is smaller than the minimum SAD value or the same, a real SAD(SAD(u,v)) is calculated. The SAD(u,v) is compared with the SADmin(S111). When the SAD(u,v) is larger than the SADmin or the same, it is discriminated that the present search point is not an optimum motion vector. When the SAD(u,v) is smaller than the SADmin, the optimum motion vectors(u*,v*) are updated(S113).

Description

SAD 추정을 통한 움직임 추정 방법{Estimating Method of motion using SAD}Estimating method of motion using SAD}

본 발명은 SAD 추정을 통한 움직임 추정 방법에 관한 것으로, 보다 구체적으로는 동영상 부호화기에 널리 사용되는 움직임 추정 알고리즘 중 종래의 연속제거알고리즘(successive elimination algorithm: SEA)의 원리를 이용하여 움직임 추정 성능을 일정 수준 유지하면서 추정 속도를 향상시키는 움직임 추정 방법에 관한 것이다.The present invention relates to a motion estimation method through SAD estimation. More specifically, the motion estimation performance is fixed by using the principle of the conventional successive elimination algorithm (SEA) among motion estimation algorithms widely used in a video encoder. The present invention relates to a motion estimation method for improving the estimation speed while maintaining a level.

이하, 도 1을 참조하여 움직임 추정 방법의 개념을 설명한다.Hereinafter, the concept of a motion estimation method will be described with reference to FIG. 1.

주어진 참조영상(reference picture)과 현재영상(current picture)의 NxM 블록(block)에 대해, 움직임 추정의 목표는 현재영상의 블록과 가장 유사한 참조영상 내에 있는 NxM 블록을 결정하는 것이다. 현재영상은 시간 t에 위치한 영상으로 정의되고, 참조영상은 과거에 위치한 시간 t-n 또는/그리고 미래에 위치한 시간 t+k 에서의 영상으로 정의된다. 여기서 과거 시간과 미래 시간에 위치한 참조영상에 대한 움직임 추정을 각각 순방향 움직임 추정(forward motion estimation), 역방향 움직임 추정(backward motion estimation)이라고 한다.For an NxM block of a given reference picture and a current picture, the goal of motion estimation is to determine the NxM block in the reference picture that is most similar to the block of the current picture. The current picture is defined as an image located at time t, and the reference picture is defined as an image at time t-n located in the past and / or at time t + k located in the future. In this case, motion estimation for reference images located in past and future times is referred to as forward motion estimation and backward motion estimation, respectively.

블록의 위치는 일반적으로 블록의 왼쪽-위쪽 모서리(left-top corner)의 좌표 (x,y)로 표현된다. 참조영상의 최적정합블록(best match block)의 위치를 (x+u, y+v)라고 할 때, (x,y)에서 (x+u,y+v)로의 벡터를 (x,y)에 위치한 블록의 움직임 벡터라고 정의한다. 보통 움직임 벡터는 상대적인 좌표계로 표시하여, (x,y)=(0,0)으로 가정하여, 움직임 벡터를 단순히 (u,v)로 표현한다.The position of a block is usually expressed in coordinates (x, y) of the left-top corner of the block. When the position of the best match block of the reference image is (x + u, y + v), the vector from (x, y) to (x + u, y + v) is (x, y) This is defined as the motion vector of the block located at. Normally, a motion vector is expressed in a relative coordinate system, and assuming that (x, y) = (0,0), the motion vector is simply expressed as (u, v).

최적정합블록의 기준은 다양한 정합기준이 존재하지만 가장 널리 사용되는 기준은 SAD(Sum of Absolute Difference)로서 다음과 같이 정의된다.Although there are various matching criteria, the most popular criterion is SAD (Sum of Absolute Difference), which is defined as follows.

여기서, u, v는 움직임 탐색영역에 의해 한정되며, f(x+k,y+l,t)는 현재영상 내 블록의 화소를, f(x-u+k,y-v+l,t-n)는 참조영상 내 화소의 밝기 값을 의미한다. 결국, SAD가 가장 작을 때의 u, v를 최적 움직임 벡터라고 부르며 이 때 최적정합이 일어났다고 말한다.Here, u and v are defined by the motion search region, and f (x + k, y + l, t) denotes a pixel of a block in the current image and f (x-u + k, y-v + l, tn ) Denotes the brightness value of the pixel in the reference image. In the end, u and v at the smallest SAD are called the optimal motion vectors, and the best match occurs.

최적 움직임 벡터를 찾는 가장 단순한 방법은 가능한 모든 u, v에 대한 SAD를 모두 구하고 그 중 가장 작은 SAD를 가지는 u, v 를 결정하는 방법으로 이것을 전역탐색법(full search algorithm: FSA)라고 부른다. 전역탐색법은 최적의 움직임 벡터를 찾을 수 있다는 장점을 가진 반면 모든 가능한 경우에 대해 SAD를 계산함으로써 많은 계산량을 요구하는 단점을 가진다.The simplest way to find the best motion vector is to find all the SADs for all possible u and v and to determine the u and v with the smallest SAD. This is called the full search algorithm (FSA). Global search has the advantage of finding the optimal motion vector, but it has the disadvantage of requiring a large amount of computation by calculating SAD for all possible cases.

이러한 단점 때문에 움직임 추정 방법에 다양한 고속화 알고리즘들이 존재한다. 탐색점을 줄임으로써, 속도향상을 기하는 방법으로는 계층적 움직임 추정, 3-단계 움직임 추정 등이 있다. 이 방법들은 최적 움직임 벡터를 항상 찾는다는 보장을 할 수 없으며, 이로 인해 추정 성능이 전역탐색법에 비해 떨어지지만 계산량을 감소시키는 장점을 가지고 있다. 이들 알고리즘과는 달리, 전역탐색법과 같이 최적 움직임 벡터를 찾으면서, 속도를 향상시키는 연속제거 알고리즘(SEA)이 있다.Due to these shortcomings, various speeding algorithms exist in the motion estimation method. By reducing the search point, methods for improving the speed include hierarchical motion estimation and three-step motion estimation. These methods cannot guarantee that the optimal motion vector will always be found, which has the advantage of reducing the computational complexity, although the estimation performance is lower than that of the global search method. Unlike these algorithms, there is a continuous elimination algorithm (SEA) that improves speed while searching for the optimal motion vector like global search.

SEA는 현재 블록의 좌표가 (x,y)일 때, 최적움직임벡터는 다음 수식에 나타난 조건을 만족함을 이용한다.SEA uses the optimal motion vector satisfying the condition shown in the following equation when the coordinate of the current block is (x, y).

여기서,, here, ,

SADmin는 현재까지의 탐색점들에 대한 SAD 중 최소의 SAD를 말한다. R(u,v), C는 참조영상 내 블록의 밝기값의 합, 현재영상 내 블록의 밝기값의 합을 각각 나타낸다. SEA는 수학식 2의 조건을 만족하지 않는 탐색점은 최적움직임벡터일 수 없음을 이용한다. 즉, 참조블록 밝기값의 합(R(u,v))과 현재블록의 밝기값의 합(C)의 차의 크기가 SADmin보다 크면 (u,v)는 절대 최적움직임벡터가 될 수 없다. 따라서, 탐색점(u,v)에 대해서는 SAD를 계산할 필요가 없음에 따라 (u,v)를 탐색점에서 제외하여 계산량을 절감한다. 한편, R(u,v), C의 계산이 추가적으로 요구되지만, 이것은 움직임 추정의 계산량과 비교하여 매우 적은 계산량이므로 무시될 수 있다.SAD min refers to the least SAD of the SADs for the search points to date. R (u, v) and C represent the sum of the brightness values of the blocks in the reference picture and the sum of the brightness values of the blocks in the current picture, respectively. SEA uses a search point that does not satisfy the condition of Equation 2 cannot be an optimal motion vector. That is, if the difference between the sum of the reference block brightness values (R (u, v)) and the current block brightness values (C) is greater than SAD min , (u, v) cannot be the absolute optimal motion vector. . Therefore, since the SAD needs not to be calculated for the search point (u, v), the calculation amount is reduced by excluding (u, v) from the search point. On the other hand, the calculation of R (u, v), C is additionally required, but this can be ignored because it is a very small amount of calculation compared to the amount of motion estimation.

이하, 도 2를 참조하여 종래 기술에 의한 연속제거 알고리즘의 흐름도를 상세히 설명한다.Hereinafter, a flowchart of a continuous elimination algorithm according to the prior art will be described in detail with reference to FIG. 2.

먼저, n은 탐색점의 개수를 나타내는 정수이며, 탐색점(u,v)에 대해 수학식 2의 조건이 만족되는지 판단하게 된다. LUT(n)은 탐색점의 위치를 저장한 룩업테이블(look-up table)이다. LUT(n)은 탐색전략에 따라 자유롭게 설계될 수 있다. n=0으로 초기화하고(S10단계), 탐색점(u,v)를 LUT(n)로 설정한 다음(S12단계), 해당하는 탐색점(u,v)에 대해 수학식 2가 만족하는 지를 판단한다(S14단계).First, n is an integer indicating the number of search points, and it is determined whether the condition of Equation 2 is satisfied for the search points u and v. LUT (n) is a look-up table that stores the location of the search point. The LUT (n) can be freely designed according to the search strategy. Initialize to n = 0 (step S10), set the search point (u, v) to LUT (n) (step S12), and then check whether Equation 2 is satisfied for the corresponding search point (u, v). Determine (step S14).

만약 조건을 만족하면 탐색점(u,v)가 최적 움직임 벡터일 수 있으므로 탐색점(u,v)에 대해 SAD(u,v)를 구하고, 그렇지 않으면 최적 움직임 벡터일 수 없으므로 S24단계로 돌아가서 n이 마지막수 인지를 판단하고 마지막이 아니면 n←n+1으로 갱신하고 처음으로 돌아간다(S26단계).If the condition is satisfied, the search point (u, v) may be the optimal motion vector. Therefore, SAD (u, v) is found for the search point (u, v). Otherwise, the search point (u, v) may not be the optimal motion vector. It is determined whether this is the last number, if not the last update to n ← n + 1 and go back to the beginning (step S26).

한편, 수학식2의 조건이 만족된 경우는 SAD(u,v)와 SADmin를 비교하여(S18단계), SAD(u,v)가 SADmin보다 작은 경우는 현재의 탐색점(u,v)가 SADmin를 가지는 탐색점 보다 더 최적의 탐색점이므로 최적탐색점(u*,v*)를 현재의 탐색점(u,v)로 갱신하고, SADmin를 SAD(u,v)로 갱신한다. 만약 SAD(u,v)가 SADmin보다 크거나 같은 경우, 현재의 탐색점 (u,v)가 최적움직임벡터일 수 없으므로 n←n+1로 갱신하고 처음으로 돌아간다.On the other hand, when the condition of Equation 2 is satisfied, SAD (u, v) is compared with SAD min (step S18), and when SAD (u, v) is smaller than SAD min , the current search point (u, v). ) Is more optimal than the search point with SAD min , so update the best search point (u *, v *) to the current search point (u, v) and update SAD min to SAD (u, v) do. If SAD (u, v) is greater than or equal to SAD min , the current search point (u, v) cannot be the optimal motion vector, so it is updated to n ← n + 1 and returned to the beginning.

마지막으로, 모든 탐색점이 고려되었는지를 확인하고(S24단계), 모든 탐색점이 고려되었다면(n=마지막), 전과정을 종료하고, 최적움직임벡터를 (u*,v*)로 확정한다.Finally, it is checked whether all search points are considered (step S24), and if all search points are considered (n = last), the whole process is terminated and the optimal motion vector is determined as (u *, v *).

상술한 바와 같은 SEA를 전역 탐색법과 비교한다면, 전역탐색법은 도 2의를 판단하는 과정을 생략한 것과 같다. 따라서, SEA는를 만족하는 탐색점들에 대한 SAD 만을 계산함으로써 계산량을 감축하는 방식이다. 즉, 조건을 만족하지 않는 탐색점에 대해 SAD계산이 생략됨으로써 조건을 만족하지 않는 탐색점의 개수가 많으면 많을수록 SEA의 계산량 감축 성능은 향상된다. 그러나, 수학식 2의 조건은 엄격한 조건이 아님에 따라 계산량 감축 성능이 크게 개선되지 않는 단점이 있다.Comparing the SEA as described above with the global search method, the global search method is shown in FIG. It is the same as omitting the process of judging. Therefore, SEA The amount of computation is reduced by calculating only the SAD for the search points satisfying. That is, since the SAD calculation is omitted for the search points that do not satisfy the condition, the larger the number of search points that do not satisfy the condition, the better the throughput reduction performance of the SEA is. However, since the condition of Equation 2 is not a strict condition, the amount of calculation reduction performance is not greatly improved.

따라서, 본 발명은 이러한 문제점을 해결하기 위하여 안출된 것으로서, SEA에서의 조건을 만족하는 탐색점의 개수가 작아지도록 하여 계산량을 감축하는 방법을 제공하는 것을 목적으로 한다.Accordingly, an object of the present invention is to provide a method for reducing the amount of calculation by reducing the number of search points satisfying the conditions in the SEA.

도 1은 움직임 추정 방법의 개념을 설명하기 위한 개념도이다.1 is a conceptual diagram illustrating a concept of a motion estimation method.

도 2는 종래 기술에 의한 연속제거 알고리즘의 흐름도이다.2 is a flowchart of a continuous elimination algorithm according to the prior art.

도 3은 본 발명의 바람직한 실시예에 따른 움직임 추정방법의 흐름도이다.3 is a flowchart of a motion estimation method according to a preferred embodiment of the present invention.

상술한 문제점을 해결하기 위한 수단으로서, 본 발명은 상술한 수학식2의 조건을 변경 적용하는 방법에 관한 것으로서, 수학식2의 좌변 |R(u,v)-C|의 값이 SAD(u,v) 보다 항상 작거나 같다는 점에 착안하여 |R(u,v)-C|대신 SAD(u,v)의 추정치를 사용하여, 조건을 만족하는 탐색점의 개수가 작아지도록 하여 계산량을 감축할 수 있음에 착안한 것이다.As a means for solving the above-described problem, the present invention relates to a method of changing and applying the condition of Equation 2 described above, wherein the value of the left side | R (u, v) -C | of Equation 2 is SAD (u Using the estimates of SAD (u, v) instead of | R (u, v) -C | to reduce the amount of computation by reducing the number of search points that satisfy the condition I was able to do that.

상술한 문제점을 해결하기 위한 수단으로서, 본 발명의 측면은 SAD 추정을 통한 움직임 추정 방법에 있어서, (a) 현재 탐색점에서의 SAD 추정치와 현재까지 얻어진 SAD 중 최소의 SAD 값(SADmin)과 비교하는 단계와, (b)SAD 추정치가 SADmin보다 큰 경우는, 현재 탐색점을 최적움직임벡터가 될 수 없음을 판단하여 SAD 계산을 생략하고, 상기 SAD 추정치가 SADmin보다 작거나 같은 경우는 실제 SAD(즉 SAD(u,v))를 계산하는 단계와, (c) SAD(u,v)와 SADmin를 비교하는 단계와, (d) SAD(u,v)가 SADmin보다 크거나 같은 경우는 현재 탐색점을 최적 움직임 벡터가 아님으로 판단하고, 상기 SAD(u,v)가 SADmin보다 작은 경우 SADmin를 SAD(u,v)으로, 최적 움직임 벡터(u*,v*)를 (u,v)으로 갱신하는 SAD 추정을 이용한 움직임 추정 방법을 제공한다.As a means for solving the above-described problems, an aspect of the present invention provides a method for estimating motion through SAD estimation, comprising: (a) a minimum SAD value (SAD min ) of an SAD estimate at a current search point and a SAD obtained so far; (B) when the SAD estimate is greater than SAD min , and determines that the current search point cannot be the optimal motion vector, and thus skips SAD calculation, and when the SAD estimate is less than or equal to SAD min , Calculating an actual SAD (i.e., SAD (u, v)), (c) comparing SAD (u, v) and SAD min , and (d) SAD (u, v) is greater than SAD min or is now determined by the search point is not the optimal motion vector, and if the SAD (u, v) is smaller than the SAD min the SAD min as SAD (u, v), the best motion vector (u *, v *) if: It provides a motion estimation method using SAD estimation to update to (u, v).

한편, 현재 탐색점에서의 SAD 추정치는 현재영상 내 블록의 화소값 합(R(u,v))과 참조영상 내 화소값 합(C)의 차(|(R(u,v))-C|에 비례하는 값에서 SAD 표준편차에 비례하는 값을 빼준 값으로 설정할 수 있다.On the other hand, the SAD estimate at the current search point is the difference between the sum of pixel values R (u, v) of the block in the current image and the sum of pixel values C of the reference image (| (R (u, v))-C The value proportional to | can be set to the value obtained by subtracting the value proportional to the SAD standard deviation.

또한, (a)단계에서는, SAD 추정치와 상기 |(R(u,v))-C| 중 큰 값이 최소의 SAD 값(SADmin) 보다 작거나 같은지를 비교한다.Further, in step (a), the SAD estimate and the | (R (u, v))-C | Compare whether the larger value is less than or equal to the minimum SAD value (SAD min ).

바람직하게는, 상기 비례하는 값은일 수 있다.Preferably, the proportional value is Can be.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

이하, 도 3을 참조하여 본 발명의 바람직한 실시예에 따른 움직임 추정방법의 흐름도를 설명한다.Hereinafter, a flowchart of a motion estimation method according to a preferred embodiment of the present invention will be described with reference to FIG. 3.

먼저, 알고리즘의 수행 전, S101단계의 초기화에서 λ는 목표하는 계산량과 움직임 추정 오차를 고려하여 적당한 값(λ0)으로 초기화 하고(S101단계), 탐색점(u,v)를 LUT(n)으로 설정한다(S103단계). LUT(n)은 탐색점의 위치를 저장한 룩업테이블이고, LUT(n)은 탐색 전략에 따라 자유롭게 설계될 수 있다.First, before performing the algorithm, in the initialization of step S101, λ is initialized to an appropriate value (λ 0 ) in consideration of a target calculation amount and a motion estimation error (step S101), and the search point (u, v) is LUT (n). (Step S103). LUT (n) is a lookup table storing the location of the search point, and LUT (n) can be freely designed according to a search strategy.

(SAD 추정치 EST_SAD(u,v) 계산)(Calculate SAD Estimation EST_SAD (u, v))

초기화 후 S105단계에서는, n=0에 해당하는 탐색점 (u,v)에 대해 SAD 추정치 EST_SAD(u,v)를 계산한다. 여기서 EST_SAD(u,v)을 구하는 과정을 상세히 설명한다.In step S105 after initialization, the SAD estimate EST_SAD (u, v) is calculated for the search point (u, v) corresponding to n = 0. Here, the process of obtaining EST_SAD (u, v) will be described in detail.

여기서, here,

수학식 3의는 각각 SAD(u,v)에 대한 평균과 표준편차에 대한 추정치이다. 이는 다음과 같은 수학적 배경에 의해 얻어졌다. 현재 영상 내 블록 화소와 참조영상 내 화소간의 밝기 값의 차가 가우스(Gauss) 분포를 가지고 밝기차 간의 상관성이 없다고 가정할 경우, 수학적으로 SAD(u,v)의 평균, 표준편차로 주어진다. 여기서 E[ ]는 기대값, α는 양의 실수인 비례 상수로서 표준편차는 평균에 비례하는 관계가 있다. α의 이론적인 결과치는이다. 이러한 수학적 결과를 바탕으로 평균의 추정치를로 설정하고, 표준편차의 추정치는로 정한다.Of equation (3) Wow Are estimates of the mean and standard deviation for SAD (u, v), respectively. This was obtained by the following mathematical background. Assuming that the difference between the brightness values between the block pixels in the current image and the pixels in the reference image has a Gaussian distribution and there is no correlation between the brightness differences, the average of SAD (u, v) , Standard Deviation Is given by Where E [] is the expected value, α is a positive real number, and the standard deviation is proportional to the mean. the theoretical result of α to be. Based on these mathematical results, the estimate of the mean And the estimate of the standard deviation Decide on

또한, 수학식 3에서 λ는 음이 아닌 실수값을 가지는 계수로서편향추정(biased estimation)을 위해 사용되었다. λ=0에서 EST_SAD(u,v)= μ'SAD(u,v)가 되고 λ가 증가함에 따라 EST_SAD(u,v)가 α의 기울기로 감소함으로써, EST_SAD(u,v)가 실제 SAD값(즉, SAD(u,v)) 보다 큰 값이 가능한 발생하지 않도록 하기 위함이다.Also, in Equation 3, λ is a coefficient having a non-negative real value and used for biased estimation. At λ = 0, EST_SAD (u, v) = μ ' SAD (u, v) and as λ increases, EST_SAD (u, v) decreases with the slope of α, whereby EST_SAD (u, v) is the actual SAD value. This is to ensure that a value greater than (ie, SAD (u, v)) does not occur as much as possible.

예를 들어, (u,v)가 최적 움직임 벡터일 때, EST_SAD(u,v)가 SAD(u,v)보다 큰 값으로 추정되었다면, (u,v)가 탐색점에서 제외될 수 있다. 이러한 경우를 줄이기 위해서는 EST_SAD(u,v)가 가능한 작도록 설정되어야 한다.For example, when (u, v) is an optimal motion vector, if EST_SAD (u, v) is estimated to be greater than SAD (u, v), (u, v) may be excluded from the search point. To reduce this case, EST_SAD (u, v) should be set as small as possible.

그러나, 너무 작은 추정치는 많은 수의 탐색점을 발생시키므로, 기존의 SEA의 기준보다는 크도록 (즉,|R(x,y)-C|) 하여 계산량을 줄일 수 있도록 하여야 한다. 이러한 점에서 큰 값의 λ는 최적 움직임 벡터를 탐색점에서 제외시킬 가능성이 줄이고 (이는 계산량의 증가를 가져옴), 작은 값의 λ는 최적 움직임 벡터를 탐색점에서 제외시킬 가능성을 키우므로(이는 계산량의 감소를 가져옴), 적절한 값을 선택하도록 하여야 한다. 즉, λ의 값에 따라 계산량과 움직임 추정 오차 사이의 트레이드-오프(trade-off) 관계를 조절하는 역할을 수행한다.However, too small estimates generate a large number of search points, so they should be larger than the existing SEA criteria (ie, | R (x, y) -C |) to reduce the amount of computation. In this respect, a large value of λ reduces the likelihood of excluding the optimal motion vector from the search point (which leads to an increase in computation), and a small value of λ increases the possibility of excluding an optimal motion vector from the search point (this means Should be chosen). That is, it controls the trade-off relationship between the amount of calculation and the motion estimation error according to the value of λ.

(SAD 추정치 EST_SAD(u,v)를 이용한 비교)(Comparison using SAD estimate EST_SAD (u, v))

다음으로, 다음 수학식 4가 성립하는지를 판단한다(S107단계).Next, it is determined whether Equation 4 is satisfied (step S107).

여기서 max{A, B}는 A, B 중 큰 값을 취하는 함수이다. 함수 max{,}를 사용한 것은 수학식 4의 좌변이 항상 |R(u,v)-C| 보다 크거나 같도록 하기 위함이다. 수학식 4의 좌변이 항상 |R(u,v)-C| 보다 크거나 같을 경우 SADmin보다 커질 가능성이 높아지므로 탐색점(u,v)에서 실제 SAD(즉, SAD(u,v))를 생략할 가능성이 커진다. 결과적으로 실제 SAD를 계산하지 않는 탐색점의 개수가 증가함에 따라 계산량 감축을 얻을 수 있다. 본 발명에서 제안하는 비교 기준이 항상 |R(u,v)-C| 보다 크거나 같도록 설정하는 근거는 수학식 5가 항상 만족하기 때문이다.Where max {A, B} is a function that takes the larger of A and B. Using the function max {,} means that the left side of Equation 4 is always | R (u, v) -C | To be greater than or equal to The left side of Equation 4 is always | R (u, v) -C | If it is greater than or equal to, it is more likely to be larger than SAD min , so it is more likely to omit the actual SAD (ie, SAD (u, v)) from the search point (u, v). As a result, as the number of search points that do not calculate the actual SAD increases, the amount of calculation can be reduced. The comparison criterion proposed by the present invention is always | R (u, v) -C | The reason for setting to be greater than or equal to is because Equation 5 is always satisfied.

수학식 5는 종래의 SEA에서 제안한 비교 기준인 |R(u,v)-C|는 실제 SAD 보다 항상 작거나 같음에 따라 아래의 수학식 6을 만족하도록 추정치를 정함으로써 SAD를 계산하지 않는 탐색점의 개수를 증가시킬 수 있고, 계산량의 감축을 이룰 수 있다. _Equation 5 is a search that does not calculate SAD by setting an estimate to satisfy Equation 6 below since | R (u, v) -C |, which is a comparison criterion proposed by the conventional SEA, is always less than or equal to the actual SAD. The number of points can be increased and the amount of calculation can be reduced. _

즉, 수학식 6을 항상 만족하도록 하는 EST_SAD(u,v)를 얻기 위해서는 현재영상 내 블록과 참조영상 내 블록의 모든 화소에 대한 정보가 필요하다. 이것은 계산량의 측면에서 개선된 점이 전혀 없음을 의미한다. 따라서, 계산량에 있어서 개선된 결과를 얻기 위해서는 전체 화소 중 일부만을 사용하거나 화소들의 평균, 분산등과 같은 제한된 정보만을 이용하여 EST_SAD(u,v)를 결정하여야 한다.That is, to obtain EST_SAD (u, v) that always satisfies Equation 6, information about all pixels of the block in the current image and the block in the reference image is required. This means that there is no improvement in terms of computation. Therefore, in order to obtain an improved result in the calculation amount, EST_SAD (u, v) should be determined using only a part of all pixels or only limited information such as the average and the variance of the pixels.

여기서 제한된 정보만을 이용한다는 것은 적은 계산량으로 얻을 수 있는 정보를 이용한다는 것과 같은 의미이다. 제한된 정보만을 이용할 경우 그 결과로서 수학식 6를 항상 만족할 수 없는 문제점이 발생한다. 따라서, 제한된 정보만을 활용하면서 수학식 6를 최대한 만족할 수 있는 확률적인 방법으로 EST_SAD(u,v)를 수학식 3과 같이 계산한 것이다.Here, using only limited information is equivalent to using information that can be obtained with a small amount of computation. As a result, when only limited information is used, a problem occurs in that Equation 6 cannot always be satisfied. Therefore, EST_SAD (u, v) is calculated as in Equation 3 as a probabilistic method that can satisfy Equation 6 while using only limited information.

다음으로, 수학식 4의 조건이 만족되는지 판단하여, 만약 조건을 만족하면 (u,v)가 최적 움직임 벡터일 수 있으므로 탐색점 (u,v)에 대해 SAD(u,v)를 계산하고(S109단계), 그렇지 않으면 최적 움직임 벡터일 수 없으므로 n←n+1로 갱신하고(S117단계), S103단계로 돌아간다.Next, it is determined whether the condition of Equation 4 is satisfied, and if the condition is satisfied, since (u, v) may be an optimal motion vector, SAD (u, v) is calculated for the search point (u, v) ( Otherwise, since it cannot be an optimal motion vector, it is updated to n ← n + 1 (step S117) and the process returns to step S103.

좀 더 상세히 설명하면, SAD(u,v)와 SADmin를 비교하여(S111단계), SAD(u,v)가 SADmin보다 작은 경우, 현재의 탐색점 (u,v)가 SADmin를 가지는 탐색점보다 더 최적의 탐색점이므로 최적탐색점(u*,v*)를 현재의 탐색점(u,v)로 갱신하고, SADmin를 SAD(u,v)로 갱신한다. 만약 SAD(u,v)가 SADmin보다 크거나 같은 경우, 현재의 탐색점 (u,v)가 최적움직임벡터일 수 없으므로 n←n+1로 갱신하고 처음으로 돌아간다.In more detail, when SAD (u, v) is compared with SAD min (step S111), when SAD (u, v) is smaller than SAD min , the current search point (u, v) has SAD min . Since the search point is more optimal than the search point, the optimal search point (u *, v *) is updated to the current search point (u, v), and SAD min is updated to SAD (u, v). If SAD (u, v) is greater than or equal to SAD min , the current search point (u, v) cannot be the optimal motion vector, so it is updated to n ← n + 1 and returned to the beginning.

마지막으로, 모든 탐색점이 고려되었는지 여부를 판단하고(S115단계), n=last이면 과정을 종료하고, 최적움직임벡터를 (u*,v*)로 확정한다.Finally, it is determined whether all search points are considered (step S115). If n = last, the process is terminated and the optimal motion vector is determined as (u *, v *).

상술한 바와 같이, 본 발명은 종래의 SEA에서 문제점인, SAD 계산에서 제외되는 탐색점의 개수가 많지 않아 발생하는 계산량의 증가를 개선하기 위하여, 종래의 SEA에서 사용하는 비교 기준을 변경함으로써, 일정 수준의 추정오차를 만족하면서 계산량을 크게 감소시키는 효과가 있다.As described above, the present invention is fixed by changing the comparison criteria used in the conventional SEA in order to improve an increase in the amount of calculation that occurs due to the small number of search points excluded from the SAD calculation, which is a problem in the conventional SEA. It has the effect of greatly reducing the amount of calculation while satisfying the level estimation error.

종래의 SEA에서 문제점인, SAD(sum of absolute difference) 계산에서 제외되는 탐색점의 개수가 많지 않아 발생하는 계산량의 증가를 개선하기 위하여, 기존의 SEA에서 사용하는 비교 기준을 변경함으로써 그 목적을 달성하는 방법을 제시한다.In order to improve the increase in the calculation amount caused by the small number of search points excluded from the calculation of the sum of absolute difference (SAD), which is a problem in the conventional SEA, the object is achieved by changing the comparison criteria used in the existing SEA. How to do it.

또한, 본 발명에서 제안한 비교 기준에 포함된 계수를 목적에 따라 조절함에 따라 움직임 추정 오차와 계산량을 쉽게 조절할 수 있으므로 본 발명은 종래의 방법보다 유동성 있는 방식이다. 이와 같은 본 발명에 의한 방식은 움직임 추정 방식을 사용하는 비디오부호화기 등에 적용 가능하다.In addition, since the motion estimation error and the amount of calculation can be easily adjusted according to the purpose of adjusting the coefficients included in the comparison criteria proposed in the present invention, the present invention is more flexible than the conventional method. Such a method according to the present invention can be applied to a video encoder using a motion estimation method.

Claims (4)

SAD 추정을 통한 움직임 추정 방법에 있어서,In the motion estimation method through SAD estimation, (a) 현재 탐색점에서의 SAD 추정치와 현재까지 얻어진 SAD 중 최소의 SAD 값(SADmin)과 비교하는 단계;(a) comparing the SAD estimate at the current search point with the smallest SAD value (SAD min ) of the SADs obtained so far; (b) 상기 SAD 추정치가 SADmin보다 큰 경우는, 현재 탐색점을 최적움직임벡터가 될 수 없음을 판단하여 SAD 계산을 생략하고, 상기 SAD 추정치가 SADmin보다 작거나 같은 경우는 실제 SAD(즉 SAD(u,v))를 계산하는 단계;(b) If the SAD estimate is greater than SAD min , it is determined that the current search point cannot be the best motion vector, and the SAD calculation is omitted. If the SAD estimate is less than or equal to SAD min , the actual SAD (ie, Calculating SAD (u, v)); (c) 상기 SAD(u,v)와 상기 SADmin를 비교하는 단계; 및(c) comparing the SAD (u, v) and the SAD min ; And (d) 상기 SAD(u,v)가 상기 SADmin보다 크거나 같은 경우는 현재 탐색점을 최적 움직임 벡터가 아님으로 판단하고, 상기 SAD(u,v)가 SADmin보다 작은 경우 SADmin를 SAD(u,v)으로, 최적 움직임 벡터(u*,v*)를 (u,v)으로 갱신하는 단계를 포함하는 것을 특징으로 하는 SAD 추정을 통한 움직임 추정 방법.(d) the SAD (u, v) is the case wherein the SAD min is greater than or equal to the currently determined by the search point is not the optimal motion vector, the SAD (u, v) is less than SAD min the SAD min SAD and (u, v), updating the optimal motion vector (u *, v *) to (u, v). 제 1 항에 있어서,The method of claim 1, 상기 현재 탐색점에서의 SAD 추정치는 현재영상 내 블록의 화소값 합(R(u,v))과 참조영상 내 화소값 합(C)의 차(|(R(u,v))-C|에 비례하는 값에서 SAD 표준편차에 비례하는 값을 빼준 값으로 설정하는 것을 특징으로 하는 SAD 추정을통한 움직임 추정 방법.The SAD estimate at the current search point is the difference between the sum of pixel values R (u, v) of the block in the current image and the sum of pixel values C of the reference image (| (R (u, v))-C | And a value obtained by subtracting a value proportional to the SAD standard deviation from a value proportional to. 제 2 항에 있어서,The method of claim 2, 상기 (a)단계에서는, 상기 SAD 추정치와 상기 |(R(u,v))-C| 중 큰 값이 최소의 SAD 값(SADmin) 보다 작거나 같은지를 비교하는 것을 특징으로 하는 SAD 추정을 통한 움직임 추정 방법.In the step (a), the SAD estimate and the | (R (u, v))-C | A method of estimating motion by SAD estimation, wherein a larger value is compared with a minimum SAD value (SAD min ) or less. 제 2 항에 있어서,The method of claim 2, 상기 비례하는 값은인 것을 특징으로 하는 SAD 추정을 통한 움직임 추정 방법.The proportional value is Motion estimation method through SAD estimation, characterized in that.
KR10-2002-0082212A 2002-12-21 2002-12-21 Estimating Method of motion using SAD KR100527810B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082212A KR100527810B1 (en) 2002-12-21 2002-12-21 Estimating Method of motion using SAD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082212A KR100527810B1 (en) 2002-12-21 2002-12-21 Estimating Method of motion using SAD

Publications (2)

Publication Number Publication Date
KR20040055518A true KR20040055518A (en) 2004-06-26
KR100527810B1 KR100527810B1 (en) 2005-11-15

Family

ID=37348187

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0082212A KR100527810B1 (en) 2002-12-21 2002-12-21 Estimating Method of motion using SAD

Country Status (1)

Country Link
KR (1) KR100527810B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100910209B1 (en) * 2006-11-28 2009-07-30 한양대학교 산학협력단 Apparatus and Method for the fast full search motion estimation using the partitioned search window
KR100929608B1 (en) * 2008-01-17 2009-12-03 한양대학교 산학협력단 Video motion estimation method and device using fast global search block matching algorithm

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100987581B1 (en) 2009-02-26 2010-10-12 한양대학교 산학협력단 Method of Partial Block Matching for Fast Motion Estimation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100910209B1 (en) * 2006-11-28 2009-07-30 한양대학교 산학협력단 Apparatus and Method for the fast full search motion estimation using the partitioned search window
KR100929608B1 (en) * 2008-01-17 2009-12-03 한양대학교 산학협력단 Video motion estimation method and device using fast global search block matching algorithm

Also Published As

Publication number Publication date
KR100527810B1 (en) 2005-11-15

Similar Documents

Publication Publication Date Title
KR20030070278A (en) Apparatus and method of adaptive motion estimation
US8107748B2 (en) Adaptive motion search range
JP4001400B2 (en) Motion vector detection method and motion vector detection device
KR100814424B1 (en) Device for detecting occlusion area and method thereof
US20030012277A1 (en) Image signal coding method, image signal coding apparatus and storage medium
US8693544B2 (en) Fast motion estimation apparatus and method based on adaptive search range and partial matching error
US9307251B2 (en) Methods and systems for determining data-adaptive weights for motion estimation in a video sequence
CN107968946B (en) Video frame rate improving method and device
US6160901A (en) Processing device and method for determining direction of motion of an image
US20110050993A1 (en) Motion estimating method and image processing apparatus
US9525873B2 (en) Image processing circuit and image processing method for generating interpolated image
KR20060093787A (en) Apparatus and method for estimating motion
KR100527810B1 (en) Estimating Method of motion using SAD
KR20000076619A (en) Data processing method and apparatus
US9167132B2 (en) System and method of estimating motion of image using block sampling
US6285712B1 (en) Image processing apparatus, image processing method, and providing medium therefor
US9225994B2 (en) Global motion estimation using reduced frame lines
EP1023695B1 (en) Method of deciding on the presence of global motion by using 2-dimensional translational motion vectors and linear regression
US20120128236A1 (en) Method and apparatus for stereo misalignment estimation using modified affine or perspective model
KR100848509B1 (en) Display apparatus and control method thereof
JPH1123727A (en) Maximum likelihood estimation device for rainfall amount
KR101192162B1 (en) Method and apparatus for robust object tracking by combining histogram-wise and pixel-wise matching approaches
CN114845095B (en) Video white balance method based on gray point drift
KR100895385B1 (en) Image stabilization method and device for performing the method
JP3255656B2 (en) Video encoding device

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: 20121031

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131024

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee