제1도는 본 발명의 바람직한 실시예에 따른 비디오 신호의 현재 프레임과 이전 프레임 사이의 움직임 벡터를 결정하기 위한 움직임 벡터 검출 장치에 대한 블록구성도.1 is a block diagram of a motion vector detection apparatus for determining a motion vector between a current frame and a previous frame of a video signal according to a preferred embodiment of the present invention.
제2도는 현재 프레임내의 피사체를 예시적으로 도시한 도면.2 is a diagram illustrating an example of a subject in a current frame.
제3도는 본 발명에 따라 화소들의 메디안 필터링을 위한 필터링 창을 도시한 도면.3 illustrates a filtering window for median filtering of pixels in accordance with the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
25 : 프로세싱 블록 50 : 피사체25: processing block 50: subject
100 : 프레임 메모리 200 : 움직임 추정기100: frame memory 200: motion estimator
300 : 메디안 필터 400 : 에지 검출기300: median filter 400: edge detector
500 : 머조리티 검출기 510,515,630 : 비교기500: Mercury detector 510,515,630: comparator
530 : 스위치 610,615 : 예측기530: switch 610,615: predictor
620,625 : 제곱 평균 에러 검출기620,625: squared mean error detector
본 발명은 움직임 벡터를 결정하기 위한 개선된 장치에 관한 것으로, 특히 적응적 필터링 창을 채용한 메디안 필터를 사용하여 움직임 벡터를 결정하는 개선된 움직임 벡터 검출 장치에 관한 것이다.The present invention relates to an improved apparatus for determining a motion vector, and more particularly, to an improved motion vector detection apparatus for determining a motion vector using a median filter employing an adaptive filtering window.
이 기술분야에 잘 알려진 바와 같이, 고선명 텔레비전 및 비디오 전화 시스템과 같은 다양한 전자/전기적 응용분야에 있어서, 영상신호는 디지털 형태로 전송될 필요가 있으며, 이와같이 영상신호가 디지털 형태로 표현될 때, 상당한 양의 디지털 데이터가 발생된다. 그러나, 통상의 전송 채널의 이용가능한 주파수 대역폭이 제한되어 있으므로, 영상신호를 통상의 전송 채널을 통해 전송하기 위해서는 전송되는 데이터량을 압축할 필요가 있다. 다양한 압축 기법중에서, 움직임 보상 인터 프레임 부호화 기법이 효과적인 압축 기법중의 하나로 알려져 있는데, 이것은 신호의 압축을 위해 두 인접 비디오 프레임 사이의 비디오신호의 시간적 리던던시를 사용한다.As is well known in the art, for various electronic / electrical applications, such as high definition television and video telephone systems, the video signal needs to be transmitted in digital form, and as such the video signal is represented in digital form, Positive digital data is generated. However, since the available frequency bandwidth of a conventional transmission channel is limited, it is necessary to compress the amount of data to be transmitted in order to transmit a video signal through the conventional transmission channel. Among various compression techniques, motion compensated inter frame coding is known as one of the effective compression techniques, which uses temporal redundancy of video signals between two adjacent video frames for compression of the signal.
즉, 움직임 보상 인터 프레임 부호화 기법에 있어서, 현재 프레임 데이터는 현재 프레임과 이전 프레임 사이의 움직임 추정에 의거하여 이전 프레임으로부터 예측된다. 이와같이 추정된 움직임은 이전 프레임과 현재 프레임 사이의 화소들의 변위를 나타내는 2차원 움직임 벡터로 나타낼 수 있다. 본 기술분야에 제안되어 있는 움직임 벡터 추정 기법중의 하나는 블록 매칭 알고리즘이다(See, e.g., J.R. Jain et al., Displaceme nt Measurement and Its Application in Interframe Image Coding, IEEE Transa ctions on Communications COM-29, No. 12(December 1981)).That is, in the motion compensation inter frame encoding technique, the current frame data is predicted from the previous frame based on the motion estimation between the current frame and the previous frame. The estimated motion may be represented by a two-dimensional motion vector representing the displacement of the pixels between the previous frame and the current frame. One of the motion vector estimation techniques proposed in the art is a block matching algorithm (See, eg, JR Jain et al., Displacement Measurement and Its Application in Interframe Image Coding, IEEE Translations on Communications COM-29, No. 12 (December 1981).
이러한 블록 매칭 알고리즘에 따르면, 현재 프레임은 다수의 동일한 크기의 탐색 블록들로 분할된다. 탐색 블록의 크기는 전형적으로 8×8과 32×32 화소 사이의 범위를 갖는다. 현재 프레임내의 탐색블록에 대한 움직임 벡터를 결정하기 위해서는 현재 프레임의 탐색 블록과, 이 탐색 블록과 동일한 크기를 갖는 다수의 각 후보 블록 사이에서 유사계산(similiarity calculation)이 수행된다. 상기 후보 블록은 이전 프레임내의 탐색 영역에 포함되며, 탐색 영역의 크기는 일반적으로 탐색 블록 보다 더 크게 설정되다. 통상적으로, 절대 평균 에러(mean absolute error) 또는 제곱 평균 에러(mean squar e error)와 같은 에러함수가 현재 프레임의 탐색 블록과 탐색 영역내 각 후보 블록 사이의 유사성을 측정하기 위해 사용된다. 그리고, 움직임 벡터는 정의에 의해 탐색 블록과 최적 매칭 블록, 즉 최소에러 또는 차이를 유발하는 후보 블록 사이의 변위를 나타낸다.According to this block matching algorithm, the current frame is divided into a number of search blocks of the same size. The size of the search block typically ranges between 8x8 and 32x32 pixels. In order to determine a motion vector for the search block in the current frame, a similarity calculation is performed between the search block of the current frame and each of a plurality of candidate blocks having the same size as the search block. The candidate block is included in the search area in the previous frame, and the size of the search area is generally set larger than the search block. Typically, error functions such as mean absolute error or mean square error are used to measure the similarity between the search block of the current frame and each candidate block in the search area. The motion vector, by definition, represents the displacement between the search block and the optimal matching block, i.e., the candidate block causing the minimum error or difference.
이와같은 움직임 추정에서는 탐색 블록에 대응하는 탐색 영역에서 단지 하나의 최소 절대 평균 에러를 찾는 것이 바람직하거나 편리하다. 그러나, 때때로 블록 매칭중에 동일한 최소 에러를 갖는 것이 다수 발견될 수 있으며, 이 경우, MPEG(Moving Pictures Expert Group)에서는, 비록 표준으로서 제시하지는 않았지만 최고 우선순위를 갖는 최소 에러, 즉 처음 발견된 하나를 제외하고는 다른 모든 동일한 최소 에러를 버린다. 따라서, 이러한 기법으로는 탐색 블록과 대응하는 탐색 영역 사이의 움직임 벡터를 정확하게 검출하기 어렵다.In such motion estimation it is desirable or convenient to find only one minimum absolute mean error in the search region corresponding to the search block. However, sometimes a large number of things with the same minimum error can be found during block matching, in which case the Moving Pictures Expert Group (MPEG), although not presented as a standard, has the smallest error with the highest priority, that is, the first one found. All other identical minimum errors are discarded except for Thus, with this technique it is difficult to accurately detect the motion vector between the search block and the corresponding search region.
본 발명의 주된 목적은 적응적 필터링 창을 채용한 메디안 필터를 사용하여 움직임 벡터를 정확하게 결정할 수 있는 개선된 움직임 벡터 검출 장치를 제공하는데 있다.It is a main object of the present invention to provide an improved motion vector detection apparatus capable of accurately determining motion vectors using a median filter employing an adaptive filtering window.
상기 목적을 달성하기 위한 일형태에 따른 본 발명은, P×Q 화소들을 갖는 다수의 프로세싱 블록으로 분할되는 현재 프레임과 각 프로세싱 블록에 대응하는 탐색 영역을 제공하는 이전 프레임 사이의 변위를 나타내는 움직임 벡터를 소정 블록 단위로 결정하며, 상기 P×Q 화소들이 각 프로세싱 블록의 중심에 위치한 센터 화소를 포함하는 움직임 벡터 검출 장치에 있어서, 상기 현재 프레임에 포함되며 각각의 센터 화소에 대한 움직임 벡터인 센터 움직임 벡터들을 포함하는 각 화소들에 대한 움직임 벡터를 제공하는 수단; 상기 현재 프레임내 피사체의 에치 위치를 검출하여 에지 위치 신호를 생성하는 수단; 상기 생성된 에지 위치 신호에 응답하여, 필터링 창의 경계가 임의의 에지 위치에 당접할 때까지 확대되어 결정되는 상기 필터링 창내에 포함되는 모든 화소들의 움직임 벡터들에 대한 메디안 필터링을 수행하여 프로세싱 블록에 대한 필터링된 움직임 벡터들을 발생시키는 수단; 상기 각 프로세싱 블록에 포함된 화소들에 대한 상기 필터링된 움직임 벡터들 사이에서 동일한 값을 갖는 상기 필터링된 움직임 벡터들의 갯수를 카운트하여 상기 각 프로세싱 블록의 카운트된 갯수가 가장 많은 제1메이저 벡터 및 카운트된 갯수가 두 번째로 많은 제2메이저 벡터를 결정하는 수단; 상기 제1 및 제2메이저 벡터에 의거하여 상기 각 프로세싱 블록에 대한 에러함수를 계산하여 상기 제1 및 제2메이저 벡터중에서 최소 에러함수를 생성하는 것을 출력 움직임 벡터로서 선택하는 수단; 상기 각 프로세싱 블록에 대한 상기 센터 움직임 벡터, 상기 제1메이저 벡터 및 상기 제1메이저 벡터의 카운트된 갯수에 의거하여 제어신호를 발생시키는 수단; 및 상기 제어신호에 응답하여 상기 출력 움직임 벡터와 상기 센터 움직임 벡터중 하나를 상기 각 프로세싱 블록에 대한 최종 움직임 벡터로써 선택하는 스위칭 수단을 포함하는 것을 특징으로 하는 적응적 메디안 필터링 기법을 사용한 움직임 벡터 검출 장치를 제공한다.According to one aspect of the present invention, there is provided a motion vector representing a displacement between a current frame divided into a plurality of processing blocks having P × Q pixels and a previous frame providing a search region corresponding to each processing block. Determining a unit by a predetermined block unit, wherein the P × Q pixels include a center pixel located at the center of each processing block, the motion vector detecting apparatus comprising: a center motion included in the current frame and a motion vector for each center pixel Means for providing a motion vector for each pixel comprising the vectors; Means for detecting an etch position of the subject in the current frame and generating an edge position signal; In response to the generated edge position signal, median filtering of motion vectors of all pixels included in the filtering window, which is enlarged and determined until the boundary of the filtering window contacts an arbitrary edge position, is performed. Means for generating filtered motion vectors; Counting the number of the filtered motion vectors having the same value among the filtered motion vectors for the pixels included in each processing block, so that the first major vector and the count having the highest counted number of each processing block are counted Means for determining a second major vector with the second highest number; Means for selecting as an output motion vector to calculate an error function for each processing block based on the first and second major vectors to produce a minimum error function among the first and second major vectors; Means for generating a control signal based on the counted number of the center motion vector, the first major vector, and the first major vector for each processing block; And switching means for selecting one of the output motion vector and the center motion vector as a final motion vector for each processing block in response to the control signal. Provide the device.
상기 목적을 달성하기 위한 다른 형태에 따른 본 발명은, P×Q 화소들을 갖는 다수의 프로세싱 블록으로 분할되는 현재 프레임과 각 프로세싱 블록에 대응하는 탐색 영역을 제공하는 이전 프레임 사이의 변위를 나타내는 움직임 벡터를 소정 블록 단위로 결정하며, 상기 P×Q 화소들이 각 프로세싱 블록의 중심에 위치한 센터 화소를 포함하는 움직임 벡터 검출 장치에 있어서, 상기 현재 프레임에 포함되며 각각의 센터 화소에 대한 움직임 벡터인 센터 움직임 벡터들을 포함하는 각 화소들에 대한 움직임 벡터를 제공하는 수단; 상기 현재 프레임내 피사체의 에치 위치를 검출하여 에지 위치 신호를 생성하는 수단; 상기 생성된 에지 위치 신호에 응답하여, 필터링 창의 경계가 임의의 에지 위치에 당접할 때까지 확대되어 결정되는 상기 필터링 창내에 포함되는 모든 화소들의 움직임 벡터들에 대한 메디안 필터링을 수행하여 프로세싱 블록에 대한 필터링된 움직임 벡터들을 발생시키는 수단; 상기 각 프로세싱 블록에 포함된 화소들에 대한 상기 필터링된 움직임 벡터들 사이에서 동일한 값을 갖는 상기 필터링된 움직임 벡터들의 갯수를 카운트하여 상기 각 프로세싱 블록의 카운트된 갯수가 가장 많은 제1메이저 벡터 및 카운트된 갯수가 두 번째로 많은 제2메이저 벡터를 결정하는 수단; 상기 제1 및 제2메이저 벡터에 의거하여 상기 각 프로세싱 블록에 대한 에러함수를 계산하여 상기 제1 및 제2메이저 벡터중에서 최소 에러함수를 생성하는 것을 출력 움직임 벡터로서 선택하는 수단; 상기 센터 움직임 벡터와 상기 제1메이저 벡터가 동일한지를 비교하고, 그 비교 결과에 상응하여 제1제어신호 또는 제2제어신호를 발생시키는 수단; 상기 제1메이저 벡터의 갯수와 기설정된 소정의 수와 비교하며, 그 비교 결과에 의거하여 제3제어신호 또는 제4제어신호를 발생하는 수단; 선택적으로 발생되는 상기 제1,2,3 및 제4제어신호에 응답하여, 상기 제1 및 제3제어신호가 인가될 때 제1선택신호를 발생하고, 상제 제2 및 제4제어신호가 인가될 때 제2선택신호를 발생하는 수단; 및 상기 제1선택신호에 응답하는 상기 센터 움직임 벡터와 상기 제2선택신호에 응답하는 상기 출력 움직임 벡터중 하나를 상기 각 프로세싱 블록에 대한 최종 움직임 벡터로써 선택하는 스위칭 수단을 더 포함하는 것을 특징으로 하는 적응적 메디안 필터링 기법을 사용한 움직임 벡터 검출 장치를 제공한다.According to another aspect of the present invention, there is provided a motion vector representing a displacement between a current frame divided into a plurality of processing blocks having P × Q pixels and a previous frame providing a search region corresponding to each processing block. Determining a unit by a predetermined block unit, wherein the P × Q pixels include a center pixel located at the center of each processing block, the motion vector detecting apparatus comprising: a center motion included in the current frame and a motion vector for each center pixel Means for providing a motion vector for each pixel comprising the vectors; Means for detecting an etch position of the subject in the current frame and generating an edge position signal; In response to the generated edge position signal, median filtering of motion vectors of all pixels included in the filtering window, which is enlarged and determined until the boundary of the filtering window contacts an arbitrary edge position, is performed. Means for generating filtered motion vectors; Counting the number of the filtered motion vectors having the same value among the filtered motion vectors for the pixels included in each processing block, so that the first major vector and the count having the highest counted number of each processing block are counted Means for determining a second major vector with the second highest number; Means for selecting as an output motion vector to calculate an error function for each processing block based on the first and second major vectors to produce a minimum error function among the first and second major vectors; Means for comparing whether the center motion vector and the first major vector are the same and generating a first control signal or a second control signal in accordance with the comparison result; Means for comparing the number of the first major vectors with a predetermined number and generating a third control signal or a fourth control signal based on the comparison result; In response to the selectively generated first, second, third and fourth control signals, a first selection signal is generated when the first and third control signals are applied, and second and fourth control signals are applied. Means for generating a second selection signal when And switching means for selecting one of the center motion vector in response to the first selection signal and the output motion vector in response to the second selection signal as a final motion vector for each processing block. A motion vector detection apparatus using an adaptive median filtering technique is provided.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
제1도를 참조하면, 현재 프레임에 포함된 각각의 다수 프로세싱 블록에 대한 움직임 벡터를 결정하기 위한 본 발명에 따른 움직임 검출 장치의 블록도가 도시되어 있으며, 각 프로세싱 블록은 P×Q 화소, 예를들어 7×7 화소들을 갖는다.Referring to FIG. 1, there is shown a block diagram of a motion detection apparatus according to the present invention for determining motion vectors for each of the plurality of processing blocks included in a current frame, each processing block being a P × Q pixel, e. For example, it has 7x7 pixels.
현재 프레임 데이터는 입력 디지털 비디오 신호로서 프레임 메모리(100) 및 움직임 추정기(200)에 입력된다. 프레임 메모리(100)로부터 제공된 이전 프레임 데이터도 또한 움직임 추정기(200)에 입력된다.The current frame data is input to the frame memory 100 and the motion estimator 200 as input digital video signals. Previous frame data provided from the frame memory 100 is also input to the motion estimator 200.
한편, 움직임 추정기(200)는 블록 매칭 알고리즘을 사용하여 현재 프레임에 포함된 각각의 화소들에 대한 움직임 벡터를 결정하도록 작용한다. 특히, 현재 프레임에 포함된 화소(목표 화소)에 대한 움직임 벡터를 결정하기 위해서는, 목표 화소를 중심으로 N×N, 예를 들어 3×3 화소들의 탐색 블록이 설정된다. 이와같이 설정되는 탐색 블록은 본 기술분야에 잘 알려진 블록 매칭 알고리즘을 사용하여 이전 프레임내의 대응하는 탐색 영역에 포함된 모든 후보 블록들과 블록 단위로 비교된다. 여기에서, 블록 매칭 알고리즘을 사용하여 얻어진 탐색 블록에 대한 변위는 목표 화소의 움직임 벡터로 할당된다.Meanwhile, the motion estimator 200 operates to determine a motion vector for each pixel included in the current frame using a block matching algorithm. In particular, in order to determine a motion vector for a pixel (target pixel) included in the current frame, a search block of N × N, for example, 3 × 3 pixels is set around the target pixel. The search block thus set is compared block by block with all candidate blocks included in the corresponding search region in the previous frame using a block matching algorithm well known in the art. Here, the displacement for the search block obtained using the block matching algorithm is assigned to the motion vector of the target pixel.
다음에, 현재 프레임내에 포함된 각 화소에 대응하는 각각의 움직임 벡터들은 움직임 추정기(200)로부터 메디안 필터(300)로 제공된다. 움직임 추정기(200)는 또한 센터 화소들의 움직임 벡터들을 본 발명에 따라 비교기(510)로 제공한다. 이러한 각각의 센터 화소는, P 및 Q가 홀수이면 각 프로세싱 블록의 센터에 위치하는 화소이고, P 또는 Q중 어는 하나가 짝수이면 각 프로세싱 블록의 중심에 위치한 두 화소중 어느 하나이며, P 및 Q 둘다 짝수이면 각 프로세싱 블록의 중심에 위치한 4개의 화소들중 어느 하나이다. 즉, 센터 화소는 프로세싱 블록의 중심에 위치한 최대 4개 화소들중 하나이다.Next, respective motion vectors corresponding to each pixel included in the current frame are provided from the motion estimator 200 to the median filter 300. The motion estimator 200 also provides the motion vectors of the center pixels to the comparator 510 in accordance with the present invention. Each of these center pixels is a pixel located at the center of each processing block when P and Q are odd, and either P or Q is any one of two pixels located at the center of each processing block when one is even, and P and Q Both are even if any one of the four pixels located in the center of each processing block. That is, the center pixel is one of up to four pixels located at the center of the processing block.
제1도에 도시된 바와 같이, 현재 프레임 데이터는 또한 현재 프레임내 피사체의 에지 위치를 검출하도록 작용하는 에지 검출기(400)로 제공된다. 에지 검출기(400)는 입력되는 현재 프레임내 피사체의 에치 위치를 검출하여 에지 위치 검출 신호를 메디안 필터(300)로 발생시킨다. 이러한 에지 검출기(400)의 동작은 본 기술 분야에 잘 알려져 있으므로 본 명세서에서의 상세한 기술은 생략한다(See, e.g., A.K. Jain, Fundamental of Digital Image Processing, 1989, Prentice-Hall International).As shown in FIG. 1, the current frame data is also provided to an edge detector 400 which serves to detect the edge position of the subject in the current frame. The edge detector 400 detects an etch position of a subject in the current frame to be input and generates an edge position detection signal to the median filter 300. Since the operation of the edge detector 400 is well known in the art, detailed description thereof is omitted (See, e.g., A.K. Jain, Fundamental of Digital Image Processing, 1989, Prentice-Hall International).
한편, 메디안 필터(300)에서는, 메디안 필터링 동작이 움직임 추정기(200)로부터 제공된 각각의 움직임 벡터에 대해 적절한 필터링 창(예를들면, 3×3의 필터링 창)을 사용하여 수행된다. 본 발명의 바람직한 실시예에는 메디안 필터(300)가 제3도에 도시된 바와가이 크기가 가변적인 적응적 필터링 창을 갖는데, 이 적응적 필터링 창의 크기는 에지 검출기(400)로부터 제공되는 에지 위치 검출 신호에 따라 가변된다.Meanwhile, in the median filter 300, the median filtering operation is performed using an appropriate filtering window (eg, a 3 × 3 filtering window) for each motion vector provided from the motion estimator 200. In a preferred embodiment of the present invention, the median filter 300 has an adaptive filtering window that is variable in size as shown in FIG. 3, wherein the size of the adaptive filtering window is determined by the edge position detection provided from the edge detector 400. FIG. It depends on the signal.
즉, 본 발명에 따르면, 메디안 필터(300)는 필터링 창의 경계가 피사체내 임의의 에지 부분을 포함할 때까지 그의 필터링 창을 확장한다. 제3도에 도시된 바와 같이, 적응적 필터링 창 W1은 제2도의 피사체(50)의 에지 위치를 포함하는 W2까지 확장된다. 제2도에서, 현재 프레임내의 피사체는 센터 화소 (a)를 구비한 프로세싱 블록(25)을 갖도록 도시되어 있다. 이와같은 프로세싱 블럭(25)에 포함된 피사체(50)의 에지 위치들은 제3도에 도시된 바와 같이 (x)로 표시되어 있다.That is, according to the present invention, median filter 300 extends its filtering window until the boundary of the filtering window includes any edge portion in the subject. As shown in FIG. 3, the adaptive filtering window W1 extends to W2 including the edge position of the subject 50 in FIG. In FIG. 2, the subject in the current frame is shown to have a processing block 25 with a center pixel a. Edge positions of the subject 50 included in the processing block 25 are indicated by (x) as shown in FIG.
다른 한편, 메디안 필터(300)은 확장된 적응적 필터링 창 W2 내에 포함된 화소들, (a) 내지 (y)에 소정의 필터계수를 각각 곱한 다음 그들에 대한 움직임 벡터들을 평균하고, 이와같이 평균된 값을 센터 화소 (a)의 필터링된 움직임 벡터로서 할당한다. 그런 다음, 현재 프레임의 각 프로세싱 블록에 포함된 각각의 화소들에 대응하는 각각의 필터링된 움직임 벡터들은 메디안 필터(300)로부터 머조리티 검출기(majority detector)(500)로 제공된다.On the other hand, the median filter 300 multiplies the pixels included in the extended adaptive filtering window W2 by (a) to (y), respectively, by a predetermined filter coefficient, and then averages the motion vectors for them, thus averaged. Assigns the value as the filtered motion vector of the center pixel (a). Then, the respective filtered motion vectors corresponding to the respective pixels included in each processing block of the current frame are provided from the median filter 300 to the majority detector 500.
한편, 머조리티 검출기(500)는, 예를들어 7×7 화소들로 이루어진 각 프로세싱 블록에 포함된 각 화소들에 대응하는 필터링된 움직임 벡터를 수신하며, 동일한 값을 갖는 필터링된 움직임 벡터들의 갯수를 카운트하여 제1 및 제2메이저 벡터를 결정한다. 여기에서, 제1 및 제2메이저 벡터는 필터링된 움직임 벡터중에서 카운트된 갯수가 가장 많은 것과 두 번째로 많은 것에 각각 대응한다. 제1 및 제2메이저 벡터는 머조리티 검출기(500)의 출력단자 400A 및 400C를 통해 각각 출력된다. 또한, 머조리티 검출기(500)는 그의 출력단자 400B를 통해 제1메이저 벡터의 갯수를 출력한다.Meanwhile, the merity detector 500 receives a filtered motion vector corresponding to each pixel included in each processing block, for example, 7 × 7 pixels, and receives the filtered motion vectors having the same value. The number is counted to determine the first and second major vectors. Here, the first and second major vectors correspond to the largest number and the second largest number, respectively, among the filtered motion vectors. The first and second major vectors are output through the output terminals 400A and 400C of the merity detector 500, respectively. In addition, the merity detector 500 outputs the number of first major vectors through its output terminal 400B.
제1도에 있어서, 비교기(515)는 상기한 머조리티 검출기(500)로부터 제공된 제1메이저 벡터의 갯수를 소정의 값, 예를들어 25과 비교하여 만약 비교된 제1메이저 벡터의 갯수가 25보다 크거나 같으면 논리 하이 신호를, 그렇지 않으면 논리 로우 신호를 AND 게이트(520)로 발생시킨다. 또한, 비교기(510)는 머조리티 검출기(500)의 출력단자 400A로부터 제공되는 제1메이저 벡터와 움직임 추정기(200)로부터 제공되는 센터 화소의 움직임 벡터를 비교하여 그들이 서로 동일하면 논리 하이 신호를, 그렇지 않으면 논리 로우 신호를 AND 게이트(520)로 발생시킨다.In FIG. 1, the comparator 515 compares the number of first major vectors provided from the merity detector 500 with a predetermined value, for example, 25, if the number of compared first major vectors is equal. If greater than or equal to 25 a logic high signal is generated, otherwise a logic low signal is generated to AND gate 520. In addition, the comparator 510 compares the motion vector of the first major vector provided from the output terminal 400A of the merity detector 500 and the center pixel provided from the motion estimator 200 and generates a logic high signal if they are equal to each other. Otherwise, generate a logic low signal to AND gate 520.
따라서, AND 게이트(520)는, 두 비교기(510 및 515)로부터의 출력신호에 응답하여, 두 비교기(510,515)로부터의 각 출력신호가 논리 하이이면 논리 하이 신호를, 그렇지 않으면 논리 로우 신호를 스위치(530)의 제어신호(CTL)로서 발생시킨다.Thus, the AND gate 520 switches, in response to the output signals from the two comparators 510 and 515, to switch the logic high signal if each output signal from the two comparators 510 and 515 is logical high, otherwise the logic low signal. It is generated as a control signal CTL of 530.
또한, 본 발명에 따른 움직임 벡터 검출 장치는 벡터 선택 블록(600)을 더 포함하며, 이 벡터 선택 블록(600)은 제1 및 제2메이저 벡터중에서 보다 작은 에러함수, 예를들어 보다 작은 제곱 평균 에러를 갖는 움직임 보상된 프로세싱 블록을 발생시키는 메이저 벡터를 선택한다. 또한, 벡터 선택 블록(600)은, 제1도에 도시된 바와 같이, 두 개의 예측기(610 및 615)와 두 개의 제곱 평균 에러(MSE) 검출기(620 및 625)를 포함한다.In addition, the motion vector detection apparatus according to the present invention further includes a vector selection block 600, which is a smaller error function, for example, a smaller squared mean among the first and second major vectors. Select a major vector that generates a motion compensated processing block with errors. The vector selection block 600 also includes two predictors 610 and 615 and two square mean error (MSE) detectors 620 and 625, as shown in FIG.
특히, 제1도에 도시된 바와 같이, 제1 및 제2메이저 벡터는 머조리티 검출기(500)로부터 예측기(610 및 615)로 각각 제공된다. 여기에서, 각각의 예측기(610 및 615)는 각 메이저 벡터에 응답하여 프로세싱 블록의 예측 데이터, 즉 제1 및 제2메이저 벡터에 대응하는 이전 프레임의 화소 데이터를 프레임 메모리(100)로부터 라인(110)을 통해 인출하여 그것을 MSE 검출기(620 및 625)로 각각 제공한다. 또한, MSE 검출기(620 및 625)는 그의 두 입력, 즉 라인(105)을 통해 제공된 현재 프레임의 프로세싱 블록 데이터와 대응하는 에측 데이터 사이의 제곱 평균 에러를 계산하여 계산된 값, 즉 제곱 평균 에러 E1 및 E2를 비교기(630)로 각각 제공한다.In particular, as shown in FIG. 1, the first and second major vectors are provided from predictor detector 500 to predictors 610 and 615, respectively. Here, each of the predictors 610 and 615 receives the prediction data of the processing block, that is, the pixel data of the previous frame corresponding to the first and second major vectors, from the frame memory 100 in response to each major vector. And provide it to the MSE detectors 620 and 625, respectively. In addition, the MSE detectors 620 and 625 calculate a squared mean error between the processing block data of the current frame provided through its two inputs, line 105, and the corresponding predictive data, that is, the squared mean error E1. And E2 are provided to the comparator 630, respectively.
한편, 비교기(630)는 그의 두 입력, 즉 E1 및 E2를 비교하여 선택신호를 머조리티 검출기(500)의 출력단자 400A 및 400C에 결합된 두 입력 단자를 갖는 멀티플렉서(MUX)(635)로 발생시킨다. 보다 상세하게, E1이 E2보다 크거나 같을 때, 비교기(630)는 예를들어 논리 하이 선택 신호를 MUX(635)로 발생시켜 제1메이저 벡터를 스위치(530)의 단자 S2로 제공하며, 그렇지 않으면 논리 로우 선택 신호를 MUX(635)로 발생시켜 제2메이저 벡터를 단자 S2로 제공한다.On the other hand, the comparator 630 compares its two inputs, ie, E1 and E2, to a multiplexer (MUX) 635 having two input terminals coupled to the output terminals 400A and 400C of the merity detector 500. Generate. More specifically, when E1 is greater than or equal to E2, comparator 630 generates a logic high select signal to MUX 635 to provide a first major vector to terminal S2 of switch 530, for example. Otherwise, a logic low select signal is generated to MUX 635 to provide a second major vector to terminal S2.
따라서, 스위치(530)는 상술한 AND 게이트(520)로부터의 제어신호(CTL)에 응답하여 그의 두 단자 S1 및 S2로 제공되는 두 입력신호중 하나를 선택한다. 다시말해, 스위치(530)는 제어신호(CTL)가 논리 하이이면 단자 S1의 입력, 즉 센터 화소의 움직임 벡터를 프로세싱 블록의 움직임 벡터로 선택하고, 그렇지 않으면 단자 S2의 입력, 즉 보다 작은 평균 에러를 생성하는 메이저 벡터를 프로세싱 블록의 움직임 벡터로 선택하게 된다.Accordingly, the switch 530 selects one of two input signals provided to its two terminals S1 and S2 in response to the control signal CTL from the AND gate 520 described above. In other words, the switch 530 selects the input of the terminal S1, that is, the motion vector of the center pixel, as the motion vector of the processing block if the control signal CTL is logic high, or the input of the terminal S2, that is, the smaller average error. The major vector that generates Δ is selected as the motion vector of the processing block.
이상 설명한 바와 같이 본 발명에 따르면, 비디오 신호의 현재 프레임과 이전 프레임 사이의 변위를 나타내는 움직임 벡터를 결정할 때, 적응적 필터링 창을 채용한 메디안 필터를 사용하여 블록 매칭을 통해 검출된 움직임 벡터를 필터링하고 이와같이 필터링된 움직임 벡터와 센터 움직임 벡터중에서 최적의 움직임 벡터를 선택함으로써, 전술한 종래 방법에 비해 움직임 벡터를 보다 정확하게 결정하여 부호화 효율을 개선할 수 있다.As described above, according to the present invention, when determining a motion vector indicating a displacement between a current frame and a previous frame of a video signal, the motion vector detected through block matching is filtered using a median filter employing an adaptive filtering window. By selecting the optimal motion vector from the filtered motion vector and the center motion vector in this way, the coding efficiency can be improved by more accurately determining the motion vector as compared with the conventional method described above.
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| KR1019950005306AKR0174936B1 (en) | 1995-03-15 | 1995-03-15 | Motion vector detection device using adaptive median filtering | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| KR1019950005306AKR0174936B1 (en) | 1995-03-15 | 1995-03-15 | Motion vector detection device using adaptive median filtering | 
| Publication Number | Publication Date | 
|---|---|
| KR960036680A KR960036680A (en) | 1996-10-28 | 
| KR0174936B1true KR0174936B1 (en) | 1999-03-20 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| KR1019950005306AExpired - Fee RelatedKR0174936B1 (en) | 1995-03-15 | 1995-03-15 | Motion vector detection device using adaptive median filtering | 
| Country | Link | 
|---|---|
| KR (1) | KR0174936B1 (en) | 
| Publication number | Publication date | 
|---|---|
| KR960036680A (en) | 1996-10-28 | 
| Publication | Publication Date | Title | 
|---|---|---|
| US5539469A (en) | Apparatus for determining motion vectors through the use of an adaptive median filtering technique | |
| US7023921B2 (en) | Method and apparatus for determining block match quality | |
| KR100534207B1 (en) | Device and method for motion estimating of video coder | |
| KR950009699B1 (en) | Motion vector detection method and apparatus | |
| EP0609022A2 (en) | Image encoding apparatus | |
| US5596370A (en) | Boundary matching motion estimation apparatus | |
| US4743967A (en) | Differential coding apparatus having an optimum predicted value determining circuit | |
| US5510856A (en) | Apparatus for determining motion vectors | |
| US7702168B2 (en) | Motion estimation or P-type images using direct mode prediction | |
| JP2003143609A (en) | Image processing apparatus, image processing method, recording medium, and program | |
| KR0181029B1 (en) | Feature point selection device using edge | |
| KR100229803B1 (en) | Method and apparatus for detecting motion vectors | |
| EP0647919B1 (en) | Method and apparatus for correcting motion vectors | |
| KR0174936B1 (en) | Motion vector detection device using adaptive median filtering | |
| CN1127906A (en) | Apparatus for determining motion vectors | |
| KR0174932B1 (en) | Motion vector detector | |
| JP3694052B2 (en) | Motion vector detection device | |
| JP3720723B2 (en) | Motion vector detection device | |
| KR0160901B1 (en) | Boundary Matching Motion Estimator | |
| JPH07240927A (en) | Video encoder | |
| KR100208984B1 (en) | Moving vector estimator using contour of object | |
| JPH08336141A (en) | Motion vector detector | |
| JP2502862B2 (en) | Image coding method and image coding apparatus | |
| JPH07288817A (en) | Motion vector detector | |
| CN1115865C (en) | Apparatus for determining motion vectors through the use of an adaptive median filtering technique | 
| Date | Code | Title | Description | 
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application | St.27 status event code:A-0-1-A10-A12-nap-PA0109 | |
| PA0201 | Request for examination | St.27 status event code:A-1-2-D10-D11-exm-PA0201 | |
| R17-X000 | Change to representative recorded | St.27 status event code:A-3-3-R10-R17-oth-X000 | |
| PG1501 | Laying open of application | St.27 status event code:A-1-1-Q10-Q12-nap-PG1501 | |
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection | St.27 status event code:A-1-2-D10-D21-exm-PE0902 | |
| P11-X000 | Amendment of application requested | St.27 status event code:A-2-2-P10-P11-nap-X000 | |
| P13-X000 | Application amended | St.27 status event code:A-2-2-P10-P13-nap-X000 | |
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration | St.27 status event code:A-1-2-D10-D22-exm-PE0701 | |
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment | St.27 status event code:A-2-4-F10-F11-exm-PR0701 | |
| PR1002 | Payment of registration fee | St.27 status event code:A-2-2-U10-U11-oth-PR1002 Fee payment year number:1 | |
| PG1601 | Publication of registration | St.27 status event code:A-4-4-Q10-Q13-nap-PG1601 | |
| R18-X000 | Changes to party contact information recorded | St.27 status event code:A-5-5-R10-R18-oth-X000 | |
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee | St.27 status event code:A-4-4-U10-U13-oth-PC1903 Not in force date:20011107 Payment event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE | |
| R18-X000 | Changes to party contact information recorded | St.27 status event code:A-5-5-R10-R18-oth-X000 | |
| PC1903 | Unpaid annual fee | St.27 status event code:N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text:Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date:20011107 | |
| P22-X000 | Classification modified | St.27 status event code:A-4-4-P10-P22-nap-X000 |