KR20030041285A - Integer unit motion estimation method for moving picture - Google Patents
Integer unit motion estimation method for moving picture Download PDFInfo
- 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
Links
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/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명은 동영상의 정수단위 모션추정 방법에 관한 것으로, 특히 현재 영상의 블록내 모든 픽셀들의 특징요소를 결정한 후, 참조 영상의 탐색 영역에서 특징기반 매칭을 통해 불필요한 탐색점의 수를 줄임으로써, 모션 추정에 필요한 계산량을 줄일 수 있도록 하는, 동영상의 정수단위 모션추정 방법에 관한 것이다.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).
상기 수학식 1은 다시 수학식 2와 같은 두 개의 부등식으로 표현할 수 있다.Equation 1 may be expressed as two inequalities, such as Equation 2.
|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.
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.
즉, 현재 영상의 블록과 탐색 영역의 매칭 후보 블록 사이에 유사성이 더 크다고 말할 수 있다.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.
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)을 사용하고, 참조 영상의 탐색점(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)
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)
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 |
-
2001
- 2001-11-19 KR KR1020010071926A patent/KR20030041285A/en not_active Application Discontinuation
Patent Citations (5)
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 |