KR20030041285A - Integer unit motion estimation method for moving picture - Google Patents

Integer unit motion estimation method for moving picture Download PDF

Info

Publication number
KR20030041285A
KR20030041285A KR1020010071926A KR20010071926A KR20030041285A KR 20030041285 A KR20030041285 A KR 20030041285A KR 1020010071926 A KR1020010071926 A KR 1020010071926A KR 20010071926 A KR20010071926 A KR 20010071926A KR 20030041285 A KR20030041285 A KR 20030041285A
Authority
KR
South Korea
Prior art keywords
sum
block
sad
column
search
Prior art date
Application number
KR1020010071926A
Other languages
Korean (ko)
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 KR1020010071926A priority Critical patent/KR20030041285A/en
Publication of KR20030041285A publication Critical patent/KR20030041285A/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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
    • 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/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PURPOSE: A method for estimating a motion by constant units of a moving picture is provided to reduce the amount of calculation required for motion estimation by reducing the number of unnecessary search points through a feature-based matching. CONSTITUTION: A sum of 4x4 blocks is obtained(S201). A predicted motion vector(x_0,y_0) is obtained(S202). An SAD(Sum Of Absolute Difference)(m,n) and a motion vector(m,n) of a reference frame are substituted by SAD(x_0,y_0) and (x_0,y_0)(S203). A search point(x_0,y_0) is inspected(S204). R(x,y) is obtained by appropriately selecting the 4x4 blocks(S206). An SAD(x,y) is obtained by 2-D block matching(S208). The SAD(m,n) and the motion vector(m,n) of the reference frame are updated to the present SAD(x,y) and motion vector(x,y)(S209). If all search inspection is completed to search points of a search region, the final remaining(m,n) becomes a motion vector by constant units(S210).

Description

동영상의 정수단위 모션추정 방법{INTEGER UNIT MOTION ESTIMATION METHOD FOR MOVING PICTURE}Integer unit motion estimation method for video {INTEGER UNIT MOTION ESTIMATION METHOD FOR MOVING PICTURE}

본 발명은 동영상의 정수단위 모션추정 방법에 관한 것으로, 특히 현재 영상의 블록내 모든 픽셀들의 특징요소를 결정한 후, 참조 영상의 탐색 영역에서 특징기반 매칭을 통해 불필요한 탐색점의 수를 줄임으로써, 모션 추정에 필요한 계산량을 줄일 수 있도록 하는, 동영상의 정수단위 모션추정 방법에 관한 것이다.The present invention relates to a method of estimating motion of an integer unit of a video. In particular, after determining feature elements of all pixels in a block of a current image, the number of unnecessary search points is reduced through feature-based matching in a search region of a reference image. The present invention relates to an integer motion estimation method of moving pictures, which can reduce the amount of calculation required for estimation.

비디오 코덱에 적용되는 정수단위 모션추정 기법은 일반적으로 블록 매칭 알고리즘을 이용하고 있고, 이를 위한 가장 간단한 구현 방법은 탐색 영역 내 모든 탐색점에서 2차원 매칭을 하는 것이다.The integer motion estimation technique applied to the video codec generally uses a block matching algorithm, and the simplest implementation method is to perform two-dimensional matching at all search points in the search region.

그러나, 이 방법은 계산 복잡도가 매우 높기 때문에 복잡도를 줄이기 위한 많은 기법들이 개발되어 왔다.However, since this method has a very high computational complexity, many techniques have been developed to reduce the complexity.

'2-D log search', 'OTS(one-at-a-time search)', 'TSS(Thress Step Search)', 'Orthogonal search'와 같은 기법들은 모션 추정 정확도가 떨어지는 대신 탐색 영역의 탐색점 수를 크게 줄임으로써, 계산 복잡도를 감소시키도록 하였다.Techniques such as '2-D log search', 'one-at-a-time search', 'Thress Step Search' and 'Orthogonal search' are less accurate in motion estimation, By greatly reducing the number, the computational complexity was reduced.

한편, H.26L에서 현재 사용되고 있는 계산량을 줄이기 위한 정수단위 모션추정 방법은, 현재 영상의 블록 일부분과 탐색 영역의 탐색점에서의 블록 일부분을 매칭하여, 그 결과가 현재까지의 SAD(Sum of Absolute Difference) 값보다 클 경우에 매칭을 중단하고, 다음 탐색점으로 이동하는 기법을 사용하고 있다.On the other hand, an integer unit motion estimation method for reducing the amount of computation currently used in H.26L matches a portion of a block of a current image with a portion of a block at a search point of a search region, and the result is a sum of absolute so far. If it is larger than Difference), the matching is stopped and the next search point is used.

이때 다음 탐색점으로의 이동은 스퍼럴(Spiral) 탐색 순서를 적용하여 최소의 SAD값을 갖는 최적의 모션 벡터를 빨리 얻을 수 있도록 하였다.At this time, the movement to the next search point is applied to the Spiral search order so that the optimal motion vector having the minimum SAD value can be obtained quickly.

이것은 나머지 많은 탐색 점에서 매칭이 중단되게 함으로서 계산량을 줄이게 되는 방법이 된다.This is a way of reducing computation by causing matching to stop at many remaining search points.

도1은 일반적인 2차원 블록 매칭 알고리즘을 설명하기 위한 예시도이다.1 is an exemplary diagram for explaining a general two-dimensional block matching algorithm.

일반적으로, 2차원 블록 매칭(2-D block matching) 연산은 SAD(Sum of Absolute Difference), MAD(Mean of Absolute Difference), 그리고 MSE(Mean Square Error)와 같은 방법을 사용하고 있다.In general, a 2-D block matching operation uses methods such as sum of absolute difference (SAD), mean of absolute difference (MAD), and mean square error (MSE).

현재 H.26L은 모션 추정을 위해 이전 5프레임을 참조 영상으로 사용하고 있고, 현재 영상에서 16 ×16, 16 ×8, 8 ×16, 8 ×8, 8 ×4, 4 ×8, 4 ×4와 같은 7가지 다른 크기의 블록 타입을 사용하고 있다.Currently, H.26L uses the previous 5 frames as reference images for motion estimation, and 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, 4 × 4 in the current image. There are seven different block types, such as

따라서, H.26L에서 정수 단위 모션 벡터는 5장의 참조 영상 및 7가지 블록 타입 각각에 대해 다음과 같은 모션 추정 알고리즘을 적용하여 구하게 된다.Therefore, in H.26L, the integer unit motion vector is obtained by applying the following motion estimation algorithm to each of the five reference images and the seven block types.

가령, 현재 영상의 블록 주변에 존재하는 블록들로부터 예측 모션 벡터(x0,y0)를 구할 수 있고, SAD(m,n)의 초기치로서 임의의 큰 값이 설정되어 있다고 할 경우, 상기 예측 모션 벡터(x0,y0)를 탐색 영역의 중심점으로 간주하고 다음을 수행한다.For example, when the prediction motion vector (x 0 , y 0 ) can be obtained from blocks existing around the block of the current image, and the predetermined value is set as an initial value of SAD (m, n), the prediction Consider the motion vector (x 0 , y 0 ) as the center point of the search region and perform the following.

먼저, 현재 블록 타입의 각 행에서 그 행까지의 SAD(x0,y0)를 구하고, 그 모션 벡터(x0,y0)의 SAD가 임의의 참조 영상(m,n)의 SAD보다 작을 경우(SAD(x0,y0)≤SAD(m,n)) 다음 행까지의 SAD(x0,y0)를 구한다.First, the SAD (x 0 , y 0 ) from each row of the current block type to that row is obtained, and the SAD of the motion vector (x 0 , y 0 ) is smaller than the SAD of any reference picture (m, n). If (SAD (x 0 , y 0 ) ≤SAD (m, n)), SAD (x 0 , y 0 ) up to the next row is obtained.

만약, 현재 블록 타입의 마지막 행까지 진행이 되었다면, 임의의 참조 영상의 SAD(m,n)와 모션 벡터(m,n)를 SAD(x0,y0)와 (x0,y0)로 갱신하고, 다른 탐색점과의 SAD 비교 과정을 수행한다.If the process proceeds to the last row of the current block type, SAD (m, n) and motion vector (m, n) of any reference picture are converted to SAD (x 0 , y 0 ) and (x 0 , y 0 ). Update and perform SAD comparison with other search points.

그러나, 모션 벡터(x0,y0)의 SAD가 임의의 참조 영상(m,n)의 SAD보다 클 경우(SAD(x0,y0) ≥SAD(m,n))에는, 탐색 영역(search region)내에서 스퍼럴(Spiral) 탐색 순서에 의해 다음 탐색점(x,y)으로 이동하여, 상기 SAD 비교 과정을 다시 수행한다.However, when the SAD of the motion vector (x 0 , y 0 ) is larger than the SAD of any reference picture (m, n) (SAD (x 0 , y 0 ) ≥SAD (m, n)), the search area ( In the search region, the SAD comparison process is performed again by moving to the next search point (x, y) according to the spiral search order.

즉, 현재 블록 타입의 각 행에서 그 행까지의 SAD(x,y)를 구하여, 그 모션 벡터(x,y)의 SAD가 임의의 참조 영상(m,n)의 SAD보다 작을 경우(SAD(x,y) ≤SAD(m,n)), 다음 행까지의 SAD(x,y)를 구한다.That is, when the SAD (x, y) from each row of the current block type to the row is obtained, and the SAD of the motion vector (x, y) is smaller than the SAD of any reference image (m, n) (SAD ( x, y)? SAD (m, n)), and SAD (x, y) up to the next row is obtained.

그러나, 모션 벡터(x,y)의 SAD가 임의의 참조 영상(m,n)의 SAD보다 클 경우(SAD(x0,y0) ≥SAD(m,n))에는, 탐색 영역(search region)내에서 스퍼럴(Spiral) 탐색 순서에 의해 또 다른 탐색점(x,y)으로 이동하여, 상기 SAD 비교 과정을 다시 수행한다.However, when the SAD of the motion vector (x, y) is larger than the SAD of any reference image (m, n) (SAD (x 0 , y 0 ) ≥SAD (m, n)), the search region In the step Spiral search to move to another search point (x, y) to perform the SAD comparison process again.

물론, 현재 블록 타입의 마지막 행까지 진행이 되었다면, 임의의 참조 영상의 SAD(m,n)와 모션 벡터(m,n)를 SAD(x0,y0)와 (x0,y0)로 갱신하고, 다른 탐색점과의 SAD 비교 과정을 수행한다.Of course, if the last row of the current block type is advanced, the SAD (m, n) and the motion vector (m, n) of any reference picture are converted to SAD (x 0 , y 0 ) and (x 0 , y 0 ). Update and perform SAD comparison with other search points.

상기 과정에 의해 탐색 영역내의 모든 탐색점에서의 검사가 완료 되면, 최종적으로 남게되는 임의의 참조 영상의 모션 벡터(m,n)값이 모션 추정에 의해 얻게 되는 최종 정수단위 모션벡터가 되는 것이다.When the inspection at all the search points in the search area is completed by the above process, the motion vector (m, n) value of any remaining reference image is finally obtained as the final integer motion vector obtained by motion estimation.

그러나, H.26L에서의 정수단위 모션추정 기법은 최악의 경우 탐색 영역의 모든 탐색점에서 SAD를 구하기 위한 매칭 작업을 해야 하는 문제점이 있고, 실제로 복잡도 분석 결과 여전히 부호기의 70% 이상을 차지하고 있음이 밝혀졌다.However, the integer motion estimation technique in H.26L has a problem that, in the worst case, a matching operation is required to obtain SAD at all search points of the search area, and in fact, complexity analysis still accounts for more than 70% of the encoder. Turned out.

따라서, 저전력 및 모바일(Mobile) 환경과 같은 실제 응용에 있어서, 높은 계산 비용을 발생하게 되는 문제점이 있다.Thus, in practical applications such as low power and mobile environments, there is a problem that high computational costs are generated.

따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창출한 것으로, 현재 영상의 블록내 모든 픽셀들의 특징요소를 결정한 후, 참조 영상의 탐색 영역에서 특징기반 매칭을 통해 불필요한 탐색점의 수를 줄임으로써, 정수단위 모션추정에 필요한 계산량을 감소시킬 수 있도록 하는 동영상의 모션 추정 방법을 제공함에 그 목적이 있다.Accordingly, the present invention was created to solve the above-mentioned conventional problem. After determining the feature elements of all the pixels in the block of the current image, the number of unnecessary search points is determined through feature-based matching in the search region of the reference image. It is an object of the present invention to provide a motion estimation method of moving pictures that can reduce the amount of calculation required for integer unit motion estimation.

이와 같은 목적을 달성하기 위한 본 발명은,동영상의 모션 추정 방법에 있어서, 현재 영상의 블록 내 모든 픽셀들의 합을 특징 요소로 결정한 후, 참조 영상(reference frame)의 탐색 영역(search region)에서 특징 기반 매칭(feature-based matching)을 통해 불필요한 탐색점의 수를 줄이는 제1단계와; 상기 특징 기반 매칭을 통해 선택된 매칭 가능성이 높은 후보점에 대해 2차원 블록 매칭(2-D block matching)을 적용하여, 모션 벡터를 구하는 제2단계로 이루어진 것을 특징으로 한다.In order to achieve the above object, the present invention provides a motion estimation method of a motion picture, wherein the sum of all pixels in a block of the current picture is determined as a feature element, and then the search area of the reference picture is characterized. A first step of reducing the number of unnecessary search points through feature-based matching; And a second step of obtaining a motion vector by applying 2-D block matching to candidate points having a high probability of matching selected through the feature-based matching.

도 1은 일반적인 2차원 블록 매칭 알고리즘을 설명하기 위한 예시도.1 is an exemplary diagram for explaining a general two-dimensional block matching algorithm.

도 2는 본 발명에 따른 참조 영상의 4 ×4 블록 합을 구하는 전처리 과정을 설명 하기 위한 예시도.2 is an exemplary diagram for explaining a preprocessing process of obtaining a 4 × 4 block sum of a reference image according to the present invention.

도 3은 본 발명에 따른 참조 영상의 4 ×4 블록 합을 구하는 전처리 과정을 보인 순서도.3 is a flowchart illustrating a preprocessing process for obtaining a 4x4 block sum of a reference image according to the present invention.

도 4는 본 발명에 따른 동영상의 정수단위 모션 추정 알고리즘을 보인 순서도.4 is a flowchart illustrating an integer motion estimation algorithm of a video according to the present invention.

본 발명에 따른 동영상의 정수단위 모션 추정 방법은 크게 두 단계를 거쳐 수행된다.The integer unit motion estimation method of a video according to the present invention is largely performed in two steps.

첫 번째 단계는 현재 영상의 블록 내 모든 픽셀들의 합을 특징 요소(feature)로 결정한 후, 참조 영상(reference frame)의 탐색 영역(search region)에서 특징 기반 매칭(feature-based matching)을 통해 불필요한 탐색점(search point)의 수를 줄이도록 한다.The first step is to determine the sum of all pixels in the block of the current image as a feature, and then perform unnecessary search through feature-based matching in the search region of the reference frame. Try to reduce the number of search points.

두 번째 단계에서는 상기 특징 기반 매칭을 통해 선택된 매칭 가능성이 높은 후보점에 대해 종래 2차원 블록 매칭(2-D block matching)을 적용하여, H.26L의 모션 추정에서 얻은 정수단위 모션벡터와 동일한 결과를 얻도록 한다.In the second step, conventional 2-D block matching is applied to candidates with high probability of matching selected through the feature-based matching, and the same result as that of the integer motion vector obtained from the H.26L motion estimation. To get.

먼저, 상기 첫 번째 단계에서의 특징 기반 매칭 방법에 대해 설명하면 다음과 같다.First, the feature-based matching method in the first step will be described.

현재 영상의 블록 크기를 M ×N, 현재 영상 및 참조 영상의 (i,j)위치에서의 픽셀 값을 각각 fcurrent(i,j), fref(i,j)이라고 가정할 때, 탐색점(x,y)에 대해 다음 수학식 1과 같은 부등식이 성립한다.Assuming that the block size of the current picture is M × N, and the pixel values at (i, j) of the current picture and the reference picture are f current (i, j) and f ref (i, j), respectively, An inequality such as the following Equation 1 holds for (x, y).

||fcurrent(i,j)|-|fref(i-x,j-y)|| ≤|fcurrent(i,j)-fref(i-x,j-y)|f current (i, j) |-| f ref (ix, jy) || ≤ | f current (i, j) -f ref (ix, jy) |

상기 수학식 1은 다시 수학식 2와 같은 두 개의 부등식으로 표현할 수 있다.Equation 1 may be expressed as two inequalities, such as Equation 2.

|fcurrent(i,j)|-|fref(i-x,j-y)| ≤|fcurrent(i,j)-fref(i-x,j-y)|| f current (i, j) |-| f ref (ix, jy) | ≤ | f current (i, j) -f ref (ix, jy) |

|fref(i-x,j-y)|-|fcurrent(i,j)| ≤|fcurrent(i,j)-fref(i-x,j-y)|f ref (ix, jy) |-| f current (i, j) | ≤ | f current (i, j) -f ref (ix, jy) |

또한, 상기 수학식 2는 다음 수학식 3과 같이 표현할 수 있다.In addition, Equation 2 may be expressed as Equation 3 below.

여기서,는 현재 영상의 블록 내 모든 픽셀들의 합을 의미하는 것으로 'C'로 표시하며,는 참조 영상의 탐색 영역 내 후보 모션 벡터(x,y)에서의 블록 내 픽셀들의 합을 의미하는 것으로 'R(x,y)로 표시하며,는 후보 모션 벡터(x,y)에서 2차원 블록 매칭에 의해 얻은 SAD 값을 나타내는 것으로, SAD(x,y)로 표시하기로 한다.here, Denotes the sum of all pixels in the block of the current image and is denoted by 'C'. Denotes the sum of the pixels in the block in the candidate motion vector (x, y) in the search region of the reference image, denoted by 'R (x, y), Denotes the SAD value obtained by two-dimensional block matching in the candidate motion vector (x, y), and will be denoted by SAD (x, y).

따라서, 상기 수학식 3의 부등식은 다음 수학식 4와 같이 쓸 수 있다.Therefore, the inequality of Equation 3 can be written as Equation 4 below.

C-R(x,y) ≤SAD(x,y)C-R (x, y) ≤SAD (x, y)

R(x,y)-C ≤SAD(x,y)R (x, y) -C ≤SAD (x, y)

SAD(m,n)이 현재까지의 매칭을 통해 모션 벡터로 간주되는 탐색 영역 내 탐색점(m,n)에서의 SAD값이라고 하면, 다음 수학식 5와 같이 현재 후보점의모션벡터(x,y)에서 구한 SAD(x,y)값이 기존 탐색점(m,n)의 SAD(m,n)보다 작을 때 더 나은 매칭이 이루어질 것이다.If SAD (m, n) is the SAD value at the search point (m, n) in the search area that is regarded as the motion vector through matching to the present, the motion vector (x, When the SAD (x, y) value obtained in y) is smaller than the SAD (m, n) of the existing search point (m, n), better matching will be achieved.

SAD(x,y) ≤SAD(m,n)SAD (x, y) ≤SAD (m, n)

즉, 현재 영상의 블록과 탐색 영역의 매칭 후보 블록 사이에 유사성이 더 크다고 말할 수 있다.That is, the similarity between the block of the current image and the matching candidate block of the search area is greater.

따라서, 다음 수학식 6을 유도할 수 있다.Therefore, the following equation (6) can be derived.

C-R(x,y) ≤SAD(m,n)C-R (x, y) ≤SAD (m, n)

R(x,y)-C ≤SAD(m,n)R (x, y) -C ≤SAD (m, n)

즉, 상기 수학식 5에서 SAD(x,y)가 SAD(m,n) 보다 작으므로, 수학식 4에서 SAD(x,y)를 SAD(m,n)으로 대체할 수 있다.That is, since SAD (x, y) is smaller than SAD (m, n) in Equation 5, SAD (x, y) may be replaced with SAD (m, n) in Equation 4.

그러면, 상기 수학식 6의 두 부등식을 이용해 다음 수학식 7과 같은 제한 조건을 유도할 수 있게 된다.Then, the two inequalities of Equation 6 may be used to derive the constraints as shown in Equation 7 below.

C-SAD(m,n) ≤R(x,y) ≤C + SAD(m,n)C-SAD (m, n) ≤ R (x, y) ≤ C + SAD (m, n)

본 발명의 첫 단계인 특징 기반 매칭을 위해 현재 영상 블록의 특징 요소로 블록 내 픽셀들의 합(C)을 사용하고, 참조 영상의 탐색점(x,y)의 특징 요소로 블록 내 픽셀들의 합(R(x,y))을 사용한다.For feature-based matching, which is the first step of the present invention, the sum C of pixels in a block is used as a feature element of a current image block, and the sum of pixels in a block is a feature of a search point (x, y) of a reference image. R (x, y)) is used.

만일 현재의 탐색점(x,y)에서 수학식 7을 만족하게 된다면, 이것은 수학식 5를 만족함을 의미하는 것으로, 현재의 탐색점(x,y)에서 구하게 될 SAD(x,y)는 현재까지 탐색 영역에서 검사한 다른 탐색점들의 SAD보다 작은 값, 즉 매칭점 후보가 될 가능성이 있음을 의미한다.If Equation 7 is satisfied at the current search point (x, y), this means that Equation 5 is satisfied, and SAD (x, y) obtained at the current search point (x, y) is This means that it is likely to be a value smaller than the SAD of other search points examined in the search area, that is, a matching point candidate.

따라서, 본 발명의 두 번째 단계로서 현재 탐색점에 대해 2차원 블록 매칭을 수행하여 SAD를 구하게 된다.Therefore, as a second step of the present invention, SAD is obtained by performing 2D block matching on the current search point.

다음은 특징 기반 매칭에 사용되는 참조 영상에서의 특징 요소 R(x,y)를 구하는 과정을 설명한다.The following describes a process of obtaining a feature element R (x, y) in a reference picture used for feature-based matching.

상술한 바와 같이 H.26L에서는 7가지 블록 타입이 존재한다.As mentioned above, there are seven block types in H.26L.

이때 현재 영상의 M ×N 블록의 특징 요소인 C는에 의해 쉽게 구할 수 있다. 그러나, 탐색점(x,y)에서 7가지 블록 타입과 동일한 크기의 블록의 특징 요소 R(x,y)를 매칭이 수행될 때마다 구하게 된다면 이것은 많은 계산 시간을 요구하게 될 것이다.In this case, C, which is a characteristic element of M × N block of the current image, You can easily get it by However, if the feature element R (x, y) of blocks of the same size as the seven block types at the search point (x, y) is found every time the matching is performed, this will require a lot of computation time.

따라서, 본 발명에서는 7가지 블록 타입과 관계없이, 참조 영상에서 미리 R(x,y)를 구하기 위한 전처리 작업을 해놓고, 현재 영상의 블록 타입에 따라 적절한 조합을 통해 R(x,y)를 구하는 것이 필수적이다.Therefore, in the present invention, regardless of the seven block types, preprocessing for obtaining R (x, y) in the reference image is performed in advance, and R (x, y) is obtained through an appropriate combination according to the block type of the current image. It is essential.

여기서, 전처리 작업이란, H.26L 이 4 ×4 블록 기반인 비디오 코덱이라는 점을 고려하여, 다음과 같이 W(폭) ×H(높이) 크기의 참조 영상에 대해 4 ×4 블록의 합을 구하는 작업을 수행하는 것이다.Here, the preprocessing operation is to consider the fact that H.26L is a 4x4 block-based video codec, and calculates the sum of 4x4 blocks for a W (width) x H (height) size reference image as follows. To do the job.

상기 4 ×4 블록의 합을 구하는 전처리 작업의 수행 과정을 도2 및 도3의 순서도를 참조하여 설명하면 다음과 같다.A process of performing the preprocessing operation for obtaining the sum of the 4x4 blocks will be described with reference to the flowcharts of FIGS. 2 and 3 as follows.

먼저, 참조 영상의 첫 번째 행에서 1 ×4 크기의 벡터 단위로, 열 방향에 대해 합을 구해 W 개의 열 벡터(V11, V12, V13‥‥ V1W)를 구한다(S101).First, in the first row of the reference image, a sum is obtained in a column direction in units of a size of 1 × 4 to obtain W column vectors V 11 , V 12 , V 13 ... V 1W (S101).

다음, 상기 참조 영상의 두 번째 행에서 앞서 구한 각 열 벡터의 첫 번째 행을 제거하고, 대신 참조 영상의 다섯 번째 행의 값을 벡터에 더해 W개의 다른 열 벡터(V21, V22, V23, ‥‥, V2W)를 구한다.Next, the first row of each column vector obtained in the second row of the reference image is removed, and instead, the value of the fifth row of the reference image is added to the vector to add W different column vectors (V 21 , V 22 , V 23). , ‥‥, V 2W ).

즉, 첫 번째 열 벡터(V11, V12, V13‥‥ V1W)와 두 번째 열 벡터(V21, V22, V23, ‥‥, V2W)는, 두 번째 행부터 네 번째 행이 중복되기 때문에, 두 번째 벡터를 구할 때는 서로 중복되지 않는 첫 번째 행 대신 새로 추가되는 다섯 번째 행을 합하는 것이다.That is, the first column vector (V 11 , V 12 , V 13 ‥‥ V 1W ) and the second column vector (V 21 , V 22 , V 23 , ‥‥, V 2W ) are the fourth to fourth rows. Because of this overlap, the second vector is the sum of the newly added fifth rows instead of the first rows that do not overlap each other.

상기 연산을 참조 영상의 H-4행까지 실행하여 그 행까지의 열 벡터(VH-4,1, VH-4,2, VH-4,3, ‥‥, VH-4,W)를 얻는다(S102).The above operation is performed up to row H-4 of the reference image, and the column vectors up to that row (V H-4,1 , V H-4,2 , V H-4,3 , ..., V H-4, W ) Is obtained (S102).

상기와 같이 각 열의 4개의 행에 대하여 벡터를 구한 후에는, 상기 열 벡터 네 개씩(V11+V12+V13+V14,V21+V22+V23+V24,‥VH-4,1+ VH-4,2+ VH-4,3+ VH-4,4등)을 합하여, 2차원 4 ×4 블록의 합을 구한다(S103).After obtaining vectors for four rows of each column as described above, four column vectors (V 11 + V 12 + V 13 + V 14, V 21 + V 22 + V 23 + V 24 , V H −) 4,1 + V H-4,2 + V H-4,3 + V H-4,4 and the like) are added to obtain a sum of the two-dimensional 4x4 blocks (S103).

다음, 상기 열 벡터를 구할 때와 마찬가지 방법으로, 참조 영상의 두 번째 열 벡터를 시작으로 하는, H-4개의 4 ×4 블록(B12=B11-V11+V12+V13+V14+V15, B22=B21-V21+V22+V23+V24+V25,‥‥)의 합을 구한다.Next, in the same manner as when obtaining the column vector, H-4 4 × 4 blocks (B 12 = B 11 -V 11 + V 12 + V 13 + V), starting with the second column vector of the reference image. 14 + V 15 , B 22 = B 21 -V 21 + V 22 + V 23 + V 24 + V 25, ...

즉, 각 열 벡터 네 개를 한 블록으로 설정할 때, 두 번째 열 벡터부터 네 번째 열 벡터가 중복되기 때문에, 두 번째 블록을 구할 때는 서로 중복되지 않는 첫 번째 열 벡터 대신 새로 추가되는 다섯 번째 열 벡터를 합하는 것이다.In other words, when four columns are set to one block, the second column vector to the fourth column vector are overlapped, so when the second block is obtained, a fifth column vector is added instead of the first non-duplicate column vector. To sum up.

상기 4 ×4 블록 생성 과정은 참조 영상의 W-4열까지 진행한다(S104).The 4 × 4 block generation process proceeds up to column W-4 of the reference image (S104).

상기 과정을 모두 수행하면 최종적으로 참조영상에서 각각의 4 ×4 블록의 합을 얻게 된다(S105).If all the above processes are performed, the sum of each 4 × 4 block is finally obtained from the reference image (S105).

이상으로 현재 영상의 블록 타입에 따라 탐색 영역의 R(x,y)를 구하는 방법을 살펴보면 다음과 같다.The method of obtaining R (x, y) of the search area according to the block type of the current image is as follows.

예를 들어, 현재 영상의 블록 타입이 16 ×16일 경우, 탐색 영역의 탐색점을 중심으로 상기에서 구한 4 ×4블록 16개를 조합, 합산하여 R(x,y)를 구한다.For example, when the block type of the current image is 16 × 16, R (x, y) is obtained by combining and summing 16 4 × 4 blocks obtained above based on the search point of the search area.

다른 블록 타입에 대해서도 마찬가지로 참조 영상에서 필요한 4 ×4블록을 탐색점을 중심으로 적절하게 선택하여 원하는 R(x,y)를 구할 수 있다.Similarly, for other block types, a desired R (x, y) can be obtained by appropriately selecting a 4x4 block necessary for the reference image around the search point.

그럼, 상기 과정들을 조합한 본 발명에 따른 최종적인 정수단위 모션추정 알고리즘을 도4를 참조하여 설명하면 다음과 같다.Then, the final integer unit motion estimation algorithm according to the present invention combining the above processes will be described with reference to FIG.

먼저, 정수 픽셀 매칭을 위해 참조 영상의 정수 픽셀에 대해 전처리 과정으로서, 블록 타입의 최소 단위인 4 ×4 크기의 블록합을 구한다(S201).First, as a preprocessing process for integer pixels of a reference image for integer pixel matching, a block sum having a size of 4 × 4, which is a minimum unit of a block type, is obtained (S201).

이것은 다양한 블록 타입에 대한 R(x,y)를 구할 때 사용된다.This is used to find R (x, y) for various block types.

다음, 현재 영상의 블록 주변에 있는 블록들로부터 예측 모션 벡터(x0,y0)를 구하고(S202),를 구하여, 참조 영상의 SAD(m,n)과 모션벡터(m,n)에 각각 SAD(x0,y0)와 (x0,y0)를 의 초기치로서대입한다(S203).Next, a prediction motion vector (x 0 , y 0 ) is obtained from blocks around the block of the current image (S202) Is obtained, and SAD (x 0 , y 0 ) and (x 0 , y 0 ) are substituted into SAD (m, n) and motion vector (m, n) of the reference image, respectively (S203).

다음, 탐색 영역내에서 스퍼럴(Spiral) 탐색 순서에 의해 탐색점(x,y)으로 이동하고(S204), 모든 탐색점에 대한 검사가 아직 끝나지 않았으면(S205), 상기에서 구한 4 ×4 블록을 현재 블록 타입에 따라 적절하게 선택하여 R(x,y)를 구한다(S206).Next, move to the search point (x, y) in the search area in the spiral search order (S204), and if the inspection for all search points has not yet finished (S205), the 4 × 4 obtained above The block is appropriately selected according to the current block type to obtain R (x, y) (S206).

이에 따라, 만약 R(x,y)가 상기 수학식 7을 만족할 경우(S207), 2차원 블록 매칭을 실행하여 SAD(x,y)를 구하고(S208), 참조 영상의 SAD(m,n)과 모션 벡터(m,n)를 현재의 SAD(x,y)와 모션 벡터(x,y)로 갱신하고, 다른 탐색점(x,y)으로 이동하여 상기 과정을 반복 수행한다(S209).Accordingly, if R (x, y) satisfies Equation 7 (S207), two-dimensional block matching is performed to obtain SAD (x, y) (S208), and SAD (m, n) of the reference image. And the motion vector (m, n) is updated with the current SAD (x, y) and the motion vector (x, y), and the process is repeated by moving to another search point (x, y) (S209).

즉, 현재 탐색점에서의 SAD(x,y)가 이전의 탐색점의 SAD(m,n)보다 작을 경우에는 현재 탐색점의 SAD(x,y)와 모션벡터(x,y)를 SAD(m,n)과 (m,n)으로 갱신하는 것이다.That is, when SAD (x, y) at the current search point is smaller than SAD (m, n) of the previous search point, SAD (x, y) and motion vector (x, y) of the current search point are SAD ( m, n) and (m, n).

만약, 이동한 다른 탐색점이 상기 수학식 7을 만족하지 않을 경우에는, SAD(m,n)과 SAD(x,y)의 갱신없이 즉시 다른 탐색점으로 이동하여 상기 과정을 반복 수행한다(S207).If the moved other search point does not satisfy the above equation (7), the process is repeated immediately after moving to another search point without updating SAD (m, n) and SAD (x, y) (S207). .

결국, 상기와 같은 과정을 계속 반복하여, 탐색 영역의 탐색점에 대해서 모든 탐색 검사가 완료되면, 최종적으로 남아있는 (m,n)이 모션 추정에 의해 얻게 되는 정수단위 모션벡터가 되는 것이다(s210).As a result, by repeating the above process, when all the search checks are completed for the search points of the search area, the last remaining (m, n) becomes an integer unit motion vector obtained by motion estimation (s210). ).

이상에서 설명한 바와 같이 본 발명 동영상의 정수단위 모션추정 방법은, 현재 영상의 블록내 모든 픽셀들의 특징요소를 결정한 후, 참조 영상의 탐색 영역에서 특징기반 매칭을 통해 불필요한 탐색점의 수를 줄임으로써, 모션 추정에 필요한 계산량을 감소시킬 수 있도록 하는 효과가 있다.As described above, the integer unit motion estimation method of the present invention determines the feature elements of all the pixels in the block of the current image, and then reduces the number of unnecessary search points through feature-based matching in the search region of the reference image. There is an effect of reducing the amount of computation required for motion estimation.

Claims (7)

동영상의 모션 추정 방법에 있어서,In the motion estimation method of the video, 현재 영상의 블록 내 모든 픽셀들의 합을 특징 요소로 결정한 후, 참조 영상(reference frame)의 탐색 영역(search region)에서 특징 기반 매칭(feature-based matching)을 통해 불필요한 탐색점의 수를 줄이는 제1단계와;A first method of reducing the number of unnecessary search points through feature-based matching in a search region of a reference frame after determining the sum of all pixels in a block of the current image as a feature element. Steps; 상기 특징 기반 매칭을 통해 선택된 매칭 가능성이 높은 후보점에 대해 2차원 블록 매칭(2-D block matching)을 적용하여, 모션 벡터를 구하는 제2단계로 이루어진 것을 특징으로 하는 동영상의 정수단위 모션추정 방법.An integer unit motion estimation method of a video comprising: a second step of obtaining a motion vector by applying 2-D block matching to candidate points having a high probability of matching selected through the feature-based matching . 제1항에 있어서, 상기 제1단계의 특징 기반 매칭은, 현재 영상 블록의 블록 내 픽셀들의 합(C) 및 참조 영상의 탐색점(x,y)의 블록 내 픽셀들의 합(R(x,y))을 특징 요소로 사용하여, 기존 탐색점(m,n)과 현재 탐색점(x,y)이 다음 수학식 7을 만족할 경우, 현재의 탐색점(x,y)에서 구하게 될 SAD(x,y)는 현재까지 탐색 영역에서 검사한 다른 탐색점들의 SAD보다 작은 값을 갖게되어 매칭점 후보가 되는 것을 특징으로 하는 동영상의 정수단위 모션추정 방법.The method of claim 1, wherein the feature-based matching of the first step comprises: sum (C) of pixels in a block of a current image block and sum of pixels in a block of a search point (x, y) of a reference image (R (x, y)) as a feature element, if the existing search point (m, n) and the current search point (x, y) satisfy the following Equation 7, SAD ( x, y) has a value smaller than the SAD of the other search points examined in the search area to date as a matching point candidate, the motion estimation method of an integer unit of a video. (수학식 7)(Equation 7) C-SAD(m,n) ≤R(x,y) ≤C + SAD(m,n)C-SAD (m, n) ≤ R (x, y) ≤ C + SAD (m, n) 제1항 또는 제2항에 있어서, 상기 특징 기반 매칭에 사용되는 M ×N 블록 크기를 갖는 현재 영상의 특징 요소(C)는, M ×N 크기의 각 픽셀 값의 합()에 의해 구하는 것을 특징으로 하는 동영상의 정수단위 모션추정 방법.The feature element C of the current image having the M × N block size used for the feature-based matching is the sum of each pixel value of the M × N size. Motion estimation method of an integer unit of a video, characterized in that 제1항 또는 제2항에 있어서, 상기 특징 기반 매칭에 사용되는 참조 영상에서의 특징 요소 R(x,y)는, 그 값(R(x,y)을 구하기 전에 W(폭) ×H(높이) 크기의 참조 영상에 대해 4 ×4 블록의 합을 구하는 작업을 미리 수행한 후, 현재 영상의 블록 타입에 따라 상기 구해놓은 4 ×4 블록의 합을 적절히 조합하여 R(x,y)를 구하는 것을 특징으로 하는 동영상의 정수단위 모션추정 방법.The feature element R (x, y) in the reference picture used for the feature-based matching is W (width) × H (before the value R (x, y) is obtained. Height (4,4) block for the reference image of the height) size in advance, and then obtains R (x, y) by appropriately combining the sum of the obtained 4x4 blocks according to the block type of the current image. Integer unit motion estimation method of a video, characterized in that. 제4항에 있어서, 상기 참조 영상에 대해 미리 수행하는 4 ×4 블록의 합은, 참조 영상의 첫 번째 행의 픽셀을 시작으로 하는 1 ×4 열 벡터를 열 방향에 대해 H-4행까지 행을 바꾸어 가며 열 벡터의 합을 구하는 제1과정과;The method of claim 4, wherein the sum of the 4x4 blocks to be performed in advance on the reference image comprises: 1x4 column vector starting from the pixel of the first row of the reference image up to H-4 rows in the column direction. A first step of calculating the sum of the column vectors by changing a; 상기 제1과정을 행 방향에 대하여 열을 바꾸어 가며 W열까지 반복 수행하여 참조 영상에 대한 1 ×4 크기의 모든 열 벡터의 합을 구하는 제2과정과;A second process of repeating the first process with respect to a row direction to column W to obtain a sum of all column vectors having a size of 1 × 4 for a reference image; 상기 제1, 제2 과정을 통해 구한 모든 열 벡터 중에서, 첫 번째 열 벡터를 시작으로 행 방향에 대해 네 개씩의 열 벡터를 합하여, W-4열까지 4 ×4 크기의 블록 합을 구하는 제3과정과;A third method for obtaining a block sum of size 4 × 4 up to column W-4 by adding four column vectors in a row direction from the first column vector among all column vectors obtained through the first and second processes. Process; 상기 제3과정을 열 방향에 대하여 열 벡터를 바꾸어 가며 참조 영상에 대해 4 ×4 크기의 모든 블록의 합을 구하는 제4과정으로 이루어진 것을 특징으로 하는동영상의 정수단위 모션추정 방법.And a fourth process of obtaining the sum of all blocks having a size of 4x4 with respect to a reference image by changing a column vector in a column direction in the third process. 제5항에 있어서, 상기 제1,제2 단계의 열 방향에 대해 H-4행까지 구하는 각 열 벡터는, 이전 열 벡터와 다음 열 벡터의 두 번째 행의 픽셀 값 부터 네 번째 행의 픽셀 값이 중복되기 때문에, 다음 열 벡터의 합을 구할 때는 이전 열 벡터의 합에서 첫 번째 행의 픽셀 값을 빼고 대신 새로 추가되는 다섯 번째 행의 픽셀 값을 합하여 구하는 것을 특징으로 하는 동영상의 정수단위 모션추정 방법.6. The method of claim 5, wherein each column vector obtained up to H-4 rows in the column directions of the first and second steps is a pixel value of the fourth row to the fourth row of the pixel value of the second row of the previous column vector and the next column vector. Since this overlaps, the sum of the next column vectors is obtained by subtracting the pixel values of the first row from the sum of the previous column vectors and instead, summing the pixel values of the newly added fifth row. Way. 제5항에 있어서, 상기 제3,제4 단계의 행 방향에 대해 W-4열까지 구하는 각 4 ×4 블록의 합은, 이전 블록과 다음 블록의 두 번째 열 벡터에서 네 번째 열 벡터가 중복되기 때문에, 다음 블록의 합을 구할 때는 이전 블록의 합에서 첫 번째 열 벡터의 값을 빼고 대신 다섯 번째 열 벡터의 값을 합하여 구하는 것을 특징으로 하는 동영상의 정수단위 모션추정 방법.6. The sum of each of the 4x4 blocks, which are obtained up to column W-4 in the row direction of the third and fourth steps, overlaps the fourth column vector in the second column vector of the previous block and the next block. When the sum of the next block is obtained, the integer unit motion estimation method of the video, wherein the sum of the first column vector is subtracted from the sum of the previous block.
KR1020010071926A 2001-11-19 2001-11-19 Integer unit motion estimation method for moving picture KR20030041285A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010071926A KR20030041285A (en) 2001-11-19 2001-11-19 Integer unit motion estimation method for moving picture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010071926A KR20030041285A (en) 2001-11-19 2001-11-19 Integer unit motion estimation method for moving picture

Publications (1)

Publication Number Publication Date
KR20030041285A true KR20030041285A (en) 2003-05-27

Family

ID=29570174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010071926A KR20030041285A (en) 2001-11-19 2001-11-19 Integer unit motion estimation method for moving picture

Country Status (1)

Country Link
KR (1) KR20030041285A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0638195A (en) * 1992-07-17 1994-02-10 Canon Inc Video coder
KR960006649A (en) * 1994-07-28 1996-02-23 사또오 후미오 Motion vector detection method and apparatus
KR960039997A (en) * 1995-04-29 1996-11-25 배순훈 Method and apparatus for encoding video signal using feature point based motion estimation
KR20000066066A (en) * 1999-04-13 2000-11-15 윤종용 Method for determining the number of processing element in moving picture estimating algorithm
JP2001197501A (en) * 2000-01-07 2001-07-19 Fujitsu Ltd Motion vector searching device and motion vector searching method, and moving picture coder

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0638195A (en) * 1992-07-17 1994-02-10 Canon Inc Video coder
KR960006649A (en) * 1994-07-28 1996-02-23 사또오 후미오 Motion vector detection method and apparatus
KR960039997A (en) * 1995-04-29 1996-11-25 배순훈 Method and apparatus for encoding video signal using feature point based motion estimation
KR20000066066A (en) * 1999-04-13 2000-11-15 윤종용 Method for determining the number of processing element in moving picture estimating algorithm
JP2001197501A (en) * 2000-01-07 2001-07-19 Fujitsu Ltd Motion vector searching device and motion vector searching method, and moving picture coder

Similar Documents

Publication Publication Date Title
JP4242656B2 (en) Motion vector prediction method and motion vector prediction apparatus
TWI556633B (en) Video decoding apparatus, video coding apparatus, video decoding method, video coding method, and storage medium
JP2021022936A (en) Image prediction method and related device
KR101217627B1 (en) Method and apparatus for estimating motion vector based on block
CN101366279A (en) Adaptive motion search range
JPH08242458A (en) Movement vector detecting method
JP2008227702A (en) Motion vector search device, motion vector search method, and motion vector search program
KR100474285B1 (en) Method for finding motion vector
KR20050095931A (en) Method and apparatus for generating motion vector in hierarchical motion estimation
JPH11252571A (en) Video coder
CN107360433A (en) A kind of interframe prediction encoding method and device
EP1586201A1 (en) Efficient predictive image parameter estimation
EP2362655B1 (en) Motion-vector estimation
JPH09182082A (en) Movement compensation prediction encoding method for moving image and device therefor
JP2011010297A (en) System and method for estimating sum of absolute differences
KR20020010426A (en) Motion estimation method
KR100490730B1 (en) Method and apparatus for motion estimation using of adaptive search pattern for video sequence compression
JP2006521740A (en) Motion vector determination method
KR100994771B1 (en) Motion vector searching method and apparatus by block matching
KR20030041285A (en) Integer unit motion estimation method for moving picture
KR20090084311A (en) Frame rate conversion method
JP6390275B2 (en) Encoding circuit and encoding method
JP2001224036A (en) Moving picture coder
US7627140B2 (en) Flatted hexagon search method for fast block motion estimation
KR20080053935A (en) Variable shape motion estimation in video sequence

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application