KR100292355B1 - Motion vector esitmation method and apparatus in image processing system - Google Patents

Motion vector esitmation method and apparatus in image processing system Download PDF

Info

Publication number
KR100292355B1
KR100292355B1 KR1019980035846A KR19980035846A KR100292355B1 KR 100292355 B1 KR100292355 B1 KR 100292355B1 KR 1019980035846 A KR1019980035846 A KR 1019980035846A KR 19980035846 A KR19980035846 A KR 19980035846A KR 100292355 B1 KR100292355 B1 KR 100292355B1
Authority
KR
South Korea
Prior art keywords
pixel
value
reference block
block
search area
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019980035846A
Other languages
Korean (ko)
Other versions
KR20000018311A (en
Inventor
채수익
이성수
Original Assignee
윤종용
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to KR1019980035846A priority Critical patent/KR100292355B1/en
Publication of KR20000018311A publication Critical patent/KR20000018311A/en
Application granted granted Critical
Publication of KR100292355B1 publication Critical patent/KR100292355B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/547Motion estimation performed in a transform domain
    • 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

본 발명은 영상시스템의 움직임 추정 방법 및 장치에 관한 것으로서, 그 방법은 (a) 기준블록과 탐색영역을 구성하고 있는 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하는 단계; (b) 기준블록의 저해상도 이미지와 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및 (c) 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 한다. (a) 단계는, 평균 절대값 오차 최소화 양자화(MMAE)를 사용하여 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 및 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계; 양자화 경계값 및 이탈화소경계를 이용하여 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어지고, 이탈화소를 포함하는 탐색영역블록은 움직임추정에서 배제한다.The present invention relates to a motion estimation method and apparatus for a video system, the method comprising the steps of: (a) generating a low resolution image by reducing a resolution representing a pixel constituting a reference block and a search region; (b) calculating a degree of difference between a low-resolution image of the reference block and a low-resolution image of the search area block; And (c) determining a search area block having a small degree of difference as a matching block, and obtaining a motion vector. (a) comprises: obtaining a quantization boundary value such that a quantization error of a reference block is minimized using an average absolute value error minimization quantization (MMAE); And setting an outgoing pixel boundary (? Max,? Min) by multiplying a maximum pixel value (Pmax) and a minimum pixel value (Pmin) of a reference block by a predetermined constant; Quantizing the pixel values of the reference block and the search area using a quantization boundary value and an outgoing pixel boundary to generate a low resolution image, and displaying pixels that are out of the outline pixel boundary as an outgoing pixel, Area blocks are excluded from motion estimation.

본 발명에 의하면, 움직임 추정시 필요한 계산량은 현격히 줄이면서도 성능저하는 최소로 한다.According to the present invention, the amount of calculation required for motion estimation is significantly reduced, while performance degradation is minimized.

Description

영상 시스템의 움직임 추정 방법 및 장치{Motion vector esitmation method and apparatus in image processing system}[0001] The present invention relates to a motion vector estimation method and apparatus,

본 발명은 영상 시스템의 움직임 추정에 관한 것으로, 특히 기준블록과 탐색영역블록의 화소값을 저해상도 양자화하여 비교하는 영상시스템의 움직임 추정 방법 및 장치에 관한 것이다.The present invention relates to motion estimation of an image system, and more particularly, to a motion estimation method and apparatus for a video system that low-resolution quantizes and compares pixel values of a reference block and a search area block.

방대한 영상 정보를 효율적으로 감축시키는 영상압축기술은 HDTV, 동영상전화, 주문형 비디오, 멀티미디어 등 영상 처리의 여러 응용분야에 있어서 없어서는 안될 핵심기술 중의 하나이다. 상기 영상압축기술에서는 동영상이 가지고 있는 시간적, 공간적 중복성과, 전송되는 데이터가 가지고 있는 통계적 중복성을 제거하기 위해 여러 가지 기법을 사용하고 있다. 공간적 중복성을 제거하기 위해서는 이산여현변환(DCT) 등의 기법이, 통계적 중복성을 제거하기 위해서는 가변부호화(VLC) 등의 기법이 제안되었다.Video compression technology, which efficiently reduces massive video information, is one of the indispensable technologies for various applications of image processing such as HDTV, video telephony, video on demand, and multimedia. In the image compression technique, various techniques are used to eliminate the temporal and spatial redundancy of the moving image and the statistical redundancy of the transmitted data. In order to remove spatial redundancy, techniques such as DCT and VLC have been proposed to remove statistical redundancies.

그리고 시간적인 중복성을 제거하기 위해 동영상전문가그룹(MPEG), H.261 등 현재 사용되고 있는 대부분의 동영상 압축 시스템에서는 블록정합 움직임추정 기법(blocking matching motion estimation)을 사용하고 있다. 상기 블록정합 움직임추정 기법은 현재 프레임을 여러 개의 작은 블록(이하 기준블록이라 함)으로 나눈 다음, 각각의 기준블록에 대해 주어진 탐색영역 내에서 이전 프레임의 여러 블록(이하 탐색영역 블록이라 함)과 비교하여 기준블록과 닮지않은 정도(dissimilarity measure, 이하 상이도라 함)를 계산한다. 그리고 나서 상이도가 가장 작은 블록(이하 정합블록이라 함)을 찾아내어 기준블록과 정합블록의 위치차이를 나타내는 움직임 벡터와, 기준블록과 정합블록의 화소 차이만을 전송하는방법이다.In order to eliminate the temporal redundancy, blocking matching motion estimation is used in most moving picture compression systems such as video experts group (MPEG) and H.261. The block matching motion estimation method divides a current frame into a plurality of small blocks (hereinafter, referred to as reference blocks), and then divides the current frame into a plurality of blocks of a previous frame And calculates a dissimilarity measure (hereinafter referred to as " phase ") that is not similar to the reference block. Then, a motion vector indicating the difference between the reference block and the matching block is searched for the block having the smallest degree of difference (hereinafter, referred to as a matching block), and only the difference between the reference block and the matching block is transmitted.

기준블록과 탐색영역블록의 상이도는 여러 가지 방법으로 계산할 수 있으나 기존의 움직임 추정방법에서는 수학식 1과 같이 뺄셈과 누산만으로 계산할 수 있는 '차의 절대값의 합'(sum of absolute difference:이하 SAD라 함)이 가장 많이 사용된다. 이 때 상기 SAD를 최소로 하는 (u,v)의 값이 움직임 벡터가 되며, 이 때의 탐색영역 블록이 정합블록이 된다.The degree of difference between the reference block and the search area block can be calculated by various methods. However, in the conventional motion estimation method, the sum of absolute differences (hereinafter referred to as " sum of absolute differences & SAD) is most frequently used. At this time, a value of (u, v) that minimizes the SAD becomes a motion vector, and the search area block at this time becomes a matching block.

상기 수학식 1에서, 기준블록의 크기는 NxM, 탐색영역의 크기는 (-p, -p)∼(p-1,p-1)이고, rb(i,j)는 현재 프레임의 기준블록에서 (i,j)번째 화소값이고, sw(i,j)는 이전 프레임의 탐색영역블록에서 (i,j)번째 화소값을 나타낸다.In the above Equation 1, the size of the reference block is NxM, the size of the search area is (p, p) to (p-1, p-1), and rb (i, j) th pixel value, and sw (i, j) represents the (i, j) th pixel value in the search area block of the previous frame.

상기 기존의 움직임 추정 방법에서 가장 큰 문제점은 프레임 크기와 초당 프레임 전송속도가 늘어남에 따라 이를 처리할 하드웨어가 커진다는데 있다. 기준블록의 크기가 16화소 x 16화소일 때 기준블록과 탐색영역블록 사이의 SAD를 계산하기 위해서는 탐색영역블록당 각각 뺄셈, 절대값 계산, 누산이 256번 필요하므로 탐색영역의 크기가 64화소 x 64화소일 때 기준블록 하나의 움직임 벡터를 구하려면 각각 뺄셈, 절대값 계산, 누산이 1048576번 필요하게 된다.The biggest problem in the conventional motion estimation method is that as the frame size and the frame transmission rate per second increase, the hardware to process the frame becomes larger. In order to calculate the SAD between the reference block and the search area block when the size of the reference block is 16 pixels × 16 pixels, the subtraction, the absolute value calculation, and the accumulation are required 256 times for each search area block. Therefore, 64 pixels, it is necessary to subtract 1048576 times to calculate the motion vector of one reference block.

상기 기존의 움직임 추정 방법을 하드웨어로 구현하기 위해서는 뺄셈, 절대값 계산, 누산 모두 뺄셈기와 누산기를 사용한다. 각 화소의 해상도를 k비트라 하고 기준 블록의 크기를 n화소 x n화소, 탐색영역의 크기를 p화소 x p화소라 하면화소 하나를 비교하기 위해서는 뺄셈과 절대값 계산을 위한 2개의 k비트 뺄셈기와 누산을 위한 1개의 (k + 2log2n) 비트의 누산기가 필요하며, 매 싸이클당 기준 블록 하나의 움직임 벡터를 구하기 위해서는 k 비트의 뺄셈기가 2 x n2x p2개, (k + 2log2n)비트 누산기가 n2x p2개 만큼 필요하게 된다.In order to implement the existing motion estimation method in hardware, a subtractor and an accumulator are used for subtraction, absolute value calculation, and accumulation. Assuming that the resolution of each pixel is k bits, the size of the reference block is n pixels xn pixels, and the size of the search area is p pixels xp pixels, two k-bit subtractors and an accumulator (K + 2 log 2 n) bit accumulator is required for each cycle. In order to obtain a motion vector of one reference block per cycle, a k-bit subtractor is 2 x n 2 xp 2 , (k + 2 log 2 n) The accumulator is required by n 2 xp 2 .

초당 처리해야 하는 기준 블록의 숫자와 이에 따른 뺄셈기와 누산기의 개수는 프레임 크기와 초당 프레임 전송 속도에 비례하므로, 프레임 크기나 초당 프레임 전송속도가 어느 이상 늘어나면 상기 기존의 움직임 추정 방법을 하드웨어로 실시간에 구현하기 어렵게 된다.Since the number of reference blocks to be processed per second and thus the number of subtractors and accumulators are proportional to the frame size and the frame transmission rate per second, if the frame size or the frame transmission rate per second increases, .

상기 SAD를 사용하는 움직임 추정 방법에는 전역탐색(full search) 방법이 있는데, 이는 탐색영역내에 있는 전체 탐색 영역블록을 기준블록과 비교하는 방법이다. 이렇게 되면 연산량이 많아지므로 연산량을 줄이기 위해 상기 전역탐색방법 대신 일부 탐색영역블록만 기준블록과 비교하여 SAD를 계산하는 방법이 있다. 그러나 이러한 방법은 전체 탐색영역 블록을 기준 블록과 비교하지 않기 때문에 전역탐색방법에 비해 성능이 크게 떨어지는 단점이 있다.The motion estimation method using the SAD is a full search method, which is a method of comparing an entire search area block within a search area with a reference block. In this case, since the computation amount increases, there is a method of calculating SAD by comparing only some search area blocks with the reference block instead of the global search method in order to reduce the amount of computation. However, this method has a drawback in that the performance is significantly lower than that of the global search method because the entire search area block is not compared with the reference block.

본 발명이 이루고자하는 기술적 과제는 상술한 문제점을 해결하기 위한 것으로서, 탐색영역내에 있는 전체 탐색영역블록을 기준블록과 비교하면서도 연산량을 효과적으로 줄여 하드웨어 량을 크게 줄이고 성능을 전역탐색에 근접하게 유지하는 영상 시스템의 움직임 추정 방법 및 장치를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems occurring in the prior art, and it is an object of the present invention to provide an image processing apparatus, And a motion estimation method and apparatus of the system.

도 1은 연산량 감소 측면에서 본 고속 탐색 기법의 비교도를 도시한 것이다.FIG. 1 shows a comparative diagram of a fast search technique in terms of reduction in computation amount.

도 2는 저해상도 이미지 생성을 위한 적응적 양자화를 도시한 것이다.Figure 2 shows adaptive quantization for low resolution image generation.

도 3는 저해상도 양자화 움직임 추정 기법의 블록도를 도시한 것이다.Figure 3 shows a block diagram of a low-resolution quantized motion estimation technique.

도 4는 DPC 의 성능개선을 설명한 것이다.Figure 4 illustrates the performance improvement of the DPC.

도 5는 PSAD의 하드웨어를 도시한 것이다.Figure 5 shows the hardware of the PSAD.

도 6은 2비트 양자화에서의 이탈 화소를 도시한 것이다.Fig. 6 shows an escape pixel in 2-bit quantization.

도 7은 K값의 변화에 따른 PSNR을 도시한 것이다.FIG. 7 shows the PSNR according to the change of the K value.

도 8은 저해상도 양자화 움직임 추정기의 블록도를 도시한 것이다.Figure 8 shows a block diagram of a low-resolution quantization motion estimator.

도 9는 각 기능 블록들의 동작을 도시한 것이다.Fig. 9 shows the operation of each functional block.

도 10은 탐색 영역 데이터의 재활용을 도시한 것이다.Fig. 10 shows the recycling of the search area data.

도 11은 저해상도 탐색부의 블록도를 도시한 것이다.11 shows a block diagram of a low-resolution search section.

도 12는 적응적 양자화기를 도시한 것이다.Figure 12 shows an adaptive quantizer.

도 13은 원해상도 탐색부의 블록도를 도시한 것이다.13 is a block diagram of the original resolution search unit.

상기 기술적 과제를 해결하기 위한 본 발명에 의한 영상 시스템의 움직임 추정방법은, (a) 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 상기 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하되, (a-1) 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)를 사용하여 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 및 (a-2) 상기 양자화 경계값을 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하는 단계로 이루어지는 단계; (b) 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및 (c) 상기 상이도가 계산된 탐색영역블록들 중 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 한다.According to another aspect of the present invention, there is provided a motion estimation method for a video system, the method comprising: (a) dividing a current frame by a predetermined size and a pixel constituting a search area in a previous frame, (A-1) a mean absolute value error minimizing quantization (MMAE) that minimizes the mean absolute value error (MAE) is used to minimize the quantization error of the reference block so as to minimize the quantization error Obtaining a value; And (a-2) generating a low-resolution image by quantizing pixel values of the reference block and the search region using the quantization boundary value; (b) calculating a degree of difference between a low-resolution image of the reference block and a low-resolution image of a search area block in the search area; And (c) determining a search area block having a small degree of difference among the search area blocks in which the disparity is calculated as a matching block, and obtaining a motion vector.

또한 상기 (a)단계는, 기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계; 상기 평균값으로 표현된 기준블록에 대해 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)에 의해 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 상기 평균값으로 표현된 기준블록 및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및 상기 양자화 경계값을 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하는 단계로 이루어짐도 바람직하다.In addition, the step (a) may include grouping the pixels constituting the reference block and the search area by a predetermined number of units to obtain an average value, and expressing the reference block and the search area block as the average value; Obtaining a quantization boundary value such that a quantization error of a reference block is minimized by an average absolute value error minimization quantization (MMAE) which minimizes an average absolute value error (MAE) with respect to a reference block represented by the average value; Obtaining a difference between a pixel of the reference block and the search area block represented by the average value and an average value of all the reference blocks; And generating a low-resolution image by quantizing a difference between the pixel value of the reference block and the average value and the average value using the quantization boundary value.

상기 (b)단계는, 기준블록의 저해상도 이미지의 복원화소 값에서 탐색영역블록의 저해상도 이미지의 복원 화소값을 뺀 차의 절대값을 모두 더하여 상이도를 결정함을 특징으로 한다. 그리고 상기 양자화경계는 이진탐색에 의해 구해짐이 바람직하다.In the step (b), the absolute value of the difference obtained by subtracting the reconstructed pixel value of the low-resolution image of the search area block from the reconstructed pixel value of the low-resolution image of the reference block is all added to determine the degree of difference. The quantization boundary is preferably obtained by a binary search.

상기 (c)단계는, (c-1) 복수의 탐색영역블록에 대해 상기 (a) 단계와 (b)단계를 통해 구해진 상이도 중에서 적어도 두 개의 상이도가 작은 블록(후보위치블록들)을 결정하는 단계; (c-2) 상기 적어도 두 개의 후보위치블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하는 단계; 및 (c-3) 상기 (c-2) 단계에서 비교결과 이미지가 가장 유사한 블록을 정합블록으로 결정하고 최종 움직임 벡터를 구하는 단계로 이루어짐이 바람직하다.Wherein the step (c) comprises: (c-1) selecting at least two blocks (candidate position blocks) having a small degree of difference among the degrees of difference obtained through the steps (a) and (b) Determining; (c-2) comparing an image of a search area block corresponding to a motion vector candidate position for the at least two candidate position blocks with an original resolution image of the reference block using an image of the original resolution; And (c-3) determining a block having the most similar image as the matching block in the step (c-2) as a matching block and obtaining a final motion vector.

상기 화소의 원래 해상도는 8비트로 표현되며, 저해상도는 2비트로 양자화하여 표현됨을 특징으로 한다.The original resolution of the pixel is represented by 8 bits, and the low resolution is represented by 2 bits.

상기 기술적 과제를 해결하기 위한 본 발명에 의한 영상 시스템의 움직임 추정방법은, (a) 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 상기 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하는 단계; (b) 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및 (c) 상기 상이도가 계산된 탐색영역블록들 중 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 한다.According to another aspect of the present invention, there is provided a motion estimation method for a video system, the method comprising: (a) dividing a current frame by a predetermined size and a pixel constituting a search area in a previous frame, Generating a low-resolution image by reducing a resolution to be displayed; (b) calculating a degree of difference between a low-resolution image of the reference block and a low-resolution image of a search area block in the search area; And (c) determining a search area block having a small degree of difference among the search area blocks in which the disparity is calculated as a matching block, and obtaining a motion vector.

상기 (a) 단계는, (a-1) 상기 기준블록의 양자화 경계값을 설정하는 단계; 및 (a-2) 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계; (a-3) 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어지고, 상기 (b)단계 및 (c)단계에서 이탈화소를 포함하는 탐색영역블록은 움직임추정에서 배제한다.The step (a) includes: (a-1) setting a quantization boundary value of the reference block; And (a-2) setting an outgoing pixel boundary (? Max,? Min) by multiplying a maximum pixel value (Pmax) and a minimum pixel value (Pmin) of the reference block by a predetermined constant; (a-3) quantizing the pixel values of the reference block and the search area by using the quantization boundary value and the exit pixel boundary to generate a low-resolution image, and displaying a pixel that is out of the outline pixel boundary as an outgoing pixel , The search area block including the escape pixel in steps (b) and (c) is excluded from the motion estimation.

상기 (a)단계는 기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계; 상기 평균값으로 표현된 기준블록에 대해 양자화 경계값을 구하는 단계; 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계; 상기 평균값으로 표현된 기준블록 및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어짐이 바람직하다.Wherein the step (a) comprises: expressing the reference block and the search area block as the average value by grouping the pixels constituting the reference block and the search area by a predetermined number of units and calculating an average value; Obtaining a quantization boundary value for a reference block represented by the average value; Setting an outgoing pixel boundary (? Max,? Min) by multiplying a maximum pixel value (Pmax) and a minimum pixel value (Pmin) of the reference block by a predetermined constant; Obtaining a difference between a pixel of the reference block and the search area block represented by the average value and an average value of all the reference blocks; And quantizing the difference between the pixel value of the reference block and the average value and the average value using the quantization boundary value and the leaving pixel boundary to generate a low resolution image, .

상기 기술적 과제를 해결하기 위한 본 발명에 의한 영상시스템의 움직임추정방법은, (a) 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 상기 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하는 단계; (b) 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및 (c) 상기 상이도가 계산된 탐색영역블록들 중 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 한다.According to another aspect of the present invention, there is provided a motion estimation method for a video system, the method comprising: (a) dividing a current frame by a predetermined size and a pixel constituting a search area in a previous frame, Generating a low-resolution image by reducing a resolution to be displayed; (b) calculating a degree of difference between a low-resolution image of the reference block and a low-resolution image of a search area block in the search area; And (c) determining a search area block having a small degree of difference among the search area blocks in which the disparity is calculated as a matching block, and obtaining a motion vector.

상기 (a) 단계는, (a-1) 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)를 사용하여 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 및 (a-2) 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계; (a-3) 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어지고, 상기 (b)단계 및 (c)단계에서 이탈화소를 포함하는 탐색영역블록은 움직임추정에서 배제한다.The step (a) includes the steps of (a-1) obtaining a quantization boundary value such that a quantization error of a reference block is minimized using an average absolute error error minimization (MMAE) which minimizes an average absolute value error ; And (a-2) setting an outgoing pixel boundary (? Max,? Min) by multiplying a maximum pixel value (Pmax) and a minimum pixel value (Pmin) of the reference block by a predetermined constant; (a-3) quantizing the pixel values of the reference block and the search area by using the quantization boundary value and the exit pixel boundary to generate a low-resolution image, and displaying a pixel that is out of the outline pixel boundary as an outgoing pixel , The search area block including the escape pixel in steps (b) and (c) is excluded from the motion estimation.

상기 (a)단계는 기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계; 상기 평균값으로 표현된 기준블록에 대해 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)에 의해 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계; 상기 평균값으로 표현된 기준블록및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어짐을 특징으로 한다.Wherein the step (a) comprises: expressing the reference block and the search area block as the average value by grouping the pixels constituting the reference block and the search area by a predetermined number of units and calculating an average value; Obtaining a quantization boundary value such that a quantization error of a reference block is minimized by an average absolute value error minimization quantization (MMAE) which minimizes an average absolute value error (MAE) with respect to a reference block represented by the average value; Setting an outgoing pixel boundary (? Max,? Min) by multiplying a maximum pixel value (Pmax) and a minimum pixel value (Pmin) of the reference block by a predetermined constant; Obtaining a difference between a pixel of the reference block and the search area block represented by the average value and an average value of all the reference blocks; And quantizing the difference between the pixel value of the reference block and the average value and the average value using the quantization boundary value and the leaving pixel boundary to generate a low resolution image, .

상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한 움직임 추정장치는, 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 평균 절대값 오차 최소화 양자화(MMAE)에 의해 계산되는 양자화 경계값과 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 계산되는 이탈화소경계값(λmax, λmin)을 생성하는 전처리부; 저해상도 이미지를 생성하고, 전체 탐색범위에 대해 상이화소수를 계산하여 움직임벡터 후보집합을 결정하는 저해상도 탐색부; 및 상기 복수개의 후보블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하여 최종 움직임 벡터를 구하는 원해상도 탐색부를 포함함을 특징으로 한다.According to another aspect of the present invention, there is provided a motion estimation apparatus comprising: a reference block which divides a current frame by a predetermined size; and a pixel which constitutes a search region in a previous frame, the average absolute value error minimization quantization Processing unit for generating a deviation pixel boundary value (? Max,? Min) calculated by multiplying a quantization boundary value calculated by the minimum pixel value (Pmax) and a minimum pixel value (Pmin) of a reference block by a predetermined constant; A low-resolution search unit for generating a low-resolution image and calculating a motion vector candidate set by calculating a number of different pixels for the entire search range; And a original resolution search unit for obtaining a final motion vector by comparing an image of a search area block corresponding to a motion vector candidate position for the plurality of candidate blocks with an image of an original resolution of the reference block using an original resolution image .

상기 저해상도 탐색부는 상기 경계값 생성부에서 생성된 양자화경계값과 이탈화소경계값을 사용하여 상기 기준블록 및 탐색영역의 화소들을 이탈화소가 구분되는 저해상도 이미지로 생성하는 양자화부; 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하되, 이탈화소가 포함된 탐색영역블록은 상이도 계산에서 배제하는 상이도 계산부; 및 상기 상이도 계산부에서 계산된 상이도 중 상이도가 작은 적어도 두 개의 탐색영역블록들을 결정하는 후보블록결정부로 이루어진다.Wherein the low resolution searching unit comprises: a quantizer for generating pixels of the reference block and the search region as low resolution images in which the outgoing pixels are separated using the quantization boundary value and the leaving pixel boundary value generated by the boundary value generating unit; A difference calculator for calculating a difference between a low-resolution image of the reference block and a low-resolution image of a search area block in the search area, wherein the search area block including the exit pixel is excluded from the difference calculation; And a candidate block determination unit for determining at least two search area blocks having different degrees of disparities among the disparity calculated in the disparity calculation unit.

상기 전처리부는 양자화경계를 계산하기 전에 기준블록의 평균을 계산하는 블록평균계산부; 및 평균 절대값 오차 최소화 양자화(MMAE)에 의해 계산되는 양자화 경계값과 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계값(λmax, λmin)을 계산하는 양자화 경계값 계산부로 이루어진다.Wherein the preprocessing unit comprises: a block average calculation unit for calculating an average of a reference block before calculating a quantization boundary; (? Max,? Min) by multiplying a quantization boundary value calculated by an average absolute value error minimization quantization (MMAE), a maximum pixel value Pmax and a minimum pixel value Pmin of a reference block by a predetermined constant, And a quantization threshold value calculation unit.

이하에서 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

1. 저해상도 양자화 움직임 추정 기법1. Low-Resolution Quantization Motion Estimation Technique

일반적인 고속 탐색기법은 도 1의 참조번호 15에 도시된 바와 같이, 전역 탐색기법의 연산량을 줄이기 위해 (1) 선택적 탐색, 계층적 탐색, 움직임 예측 탐색과 같이 탐색위치의 숫자를 줄이거나, (2) 화소 부표본화(subsampling) 탐색과 같이 실제로 비교되는 화소의 개수를 줄이거나, (3) 새로운 정합 기준을 사용하는 접근 방식을 채택하고 있다. 이중 탐색 위치의 숫자를 줄이는 방법은 국부 극소에 의한 성능 저하가 크고, 비교되는 화소의 개수를 줄이는 방법은 수직선, 수평선이 많을 때 성능 저하가 크다는 단점이 있다. 따라서 전역 탐색 기법의 연산량을 효과적으로 줄이려면 도 1의 참조번호 100에 도시된 바와 같이 새로운 정합 기준을 제안하는 것이 바람직하다.As shown in reference numeral 15 in FIG. 1, the general fast search technique is to reduce the number of search positions such as (1) selective search, hierarchical search, and motion prediction search in order to reduce the amount of computation of the global search technique, ) Reduces the number of actually compared pixels, such as pixel subsampling, or (3) adopts an approach that uses a new matching criterion. The method of reducing the number of double search positions has a large performance degradation due to the local minimum, and the method of reducing the number of pixels to be compared has a disadvantage in that the performance deterioration is large when there are many vertical lines and horizontal lines. Therefore, in order to effectively reduce the computation amount of the global search technique, it is preferable to propose a new matching criterion as shown in reference numeral 100 in FIG.

연산량을 크게 줄이면서 만족할만한 성능을 가지는 정합 기준을 제안하기 위해서 본 발명에서는 (1) 적응적 양자화를 사용하여 화소값을 효과적으로 양자화하고, (2) 하드웨어로 구현했을 때 면적을 크게 줄일 수 있는 새로운 정합 기준을 사용하며, (3) 성능 저하를 줄이기 위해 단계적 탐색 기법을 사용하는 저해상도 양자화 움직임 추정 기법(LRQME: low-resolution quantization motion estimation)을 제안한다.In order to propose a matching criterion having a satisfactory performance while greatly reducing the amount of computation, the present invention proposes a quantization method of (1) effectively quantizing pixel values using adaptive quantization, (2) And (3) low-resolution quantization motion estimation (LRQME) using step-by-step search techniques to reduce performance degradation.

1.1 적응적 양자화1.1 Adaptive Quantization

기준 블록 또는 탐색 영역 내의 모든 화소값이 같은 값으로 절삭(truncation )되는 것을 방지하려면 절삭된 값이 최대한 차이가 나도록 절삭하는 것이 바람직하다. 이러한 관점에서 보면 화소값을 그대로 절삭하는 대신에 기준 블록 또는 탐색 영역의 평균값을 각각의 화소값에서 뺀 후 이 값을 절삭하는 것이 효과적이다. 또한 일률적으로 하위 비트들을 절삭하는 경우는 양자화의 관점에서 살펴보면 균등 양자화에 해당하는데, 최적화된 양자화를 수행하기 위해서는 화소값의 분포를 고려하지 않는 균등 양자화보다는 화소값의 분포를 고려해서 양자화 오차를 최소로 줄이는 비균등 양자화가 효과적이다.In order to prevent all pixel values in the reference block or search area from being truncated to the same value, it is desirable to cut such that the cut values are maximally different. From this point of view, it is effective to subtract the average value of the reference block or search area from each pixel value, and then cut the value, instead of cutting the pixel value as it is. In order to perform the optimized quantization, the quantization error is minimized considering the distribution of the pixel values rather than the uniform quantization which does not consider the distribution of the pixel values. Which is effective to reduce non-uniform quantization.

본 발명에서는 매 기준 블록마다 도 2와 같이 먼저 기준 블록의 평균값을 구한 후, 기준 블록의 화소 및 탐색 영역의 화소 모두 화소값에서 이 평균값을 뺀 후 Lloyd-Max 양자화를 사용하여 2비트로 양자화하여 저해상도 이미지를 생성하는 적응적 양자화를 제안하였다. 비트 해상도는 연산량과 성능을 고려하여 정한다. 화소값에서 블록 평균을 뺄 때, 기준 블록의 평균값만을 사용한 이유는 평균값을 계산하는데 필요한 연산량이 작기 때문이다.In the present invention, the average value of the reference block is obtained first for each reference block as shown in FIG. 2. Then, the average value is subtracted from the pixel value of the pixel of the reference block and the search area, and then quantized to 2 bits using Lloyd- We propose adaptive quantization which generates images. The bit resolution is determined in consideration of the computation amount and performance. The reason why only the average value of the reference block is used when the block average is subtracted from the pixel value is because the calculation amount required to calculate the average value is small.

일반적인 Lloyd-Max 양자화에서는 양자화 오차로 평균 제곱 오차(mean squared error:MSE)를 사용한다. 그러나 MSE를 사용할 때의 양자화 경계 계산에는곱셈이 많이 포함되기 때문에 하드웨어로 구현할 때 많은 어려움이 따른다. 본 발명에서는 이를 간략화하기 위해서 MSE 대신에 절대값 오차(MAE: mean absolute error)를 사용하여 양자화 경계를 계산한다. Lloyd-Max 양자화에서 양자화 경계를 결정하기 위해서는 양자화되는 화소값의 확률 분포를 알아야 하는데, 본 발명에서는 양자화되는 화소값이 가우스 분포를 갖는다고 가정한다.In general Lloyd-Max quantization, the mean squared error (MSE) is used as the quantization error. However, since the quantization boundary calculation when MSE is used includes many multiplications, it is difficult to implement it in hardware. In the present invention, quantization boundaries are calculated using a mean absolute error (MAE) instead of the MSE in order to simplify the above. In order to determine the quantization boundary in the Lloyd-Max quantization, it is necessary to know the probability distribution of pixel values to be quantized. In the present invention, it is assumed that the quantized pixel values have a Gaussian distribution.

MAE로 나타낸 양자화 오차는 수학식 2과 같이 나타난다. Lloyd-Max 양자화에서 양자화 오차를 최소로 하는 양자화 경계는 수학식 3에서 구할 수 있다. 2비트 양자화의 경우 4개의 양자화된 코드의 복원 화소값의 비를 각각 1:2:3:4로 놓고 수학식 3을 풀면, 수학식 4와 같은 세 개의 양자화 경계 t1, t2, t3을 구할 수 있다.Quantization error expressed by MAE Is expressed by Equation (2). The quantization boundary that minimizes the quantization error in the Lloyd-Max quantization can be found from equation (3). For a 2-bit quantization to 4 ratio of the restored pixel values of two quantized codes, respectively 1: 2: 3: 4, place in solving the equation (3), three quantization boundary, such as Equation 4, t 1, t 2, t 3 Can be obtained.

수학식 4의 양자화 경계는 곱셈이 포함되지 않으며 간단한 하드웨어로 구현이 가능하다. 기준 블록 평균값 계산 때와 마찬가지로 움직임 추정에서 최종적으로 찾아낸(따라서 '가장 닮은') 블록의 화소값 확률 분포는 기준 블록과 같다고 가정할 수 있으므로 여기서는 수학식 4에서 구한 양자화 경계를 기준 블록과 탐색 영역 모두의 양자화 경계로 정한다.The quantization boundary of Equation (4) does not include multiplication and can be implemented with simple hardware. Since the probability distribution of the pixel values of the block finally found in the motion estimation as in the case of calculating the reference block average value can be assumed to be the same as that of the reference block, the quantization boundary obtained from Equation (4) As shown in FIG.

수학식 2 내지 수학식 4에서는 각각 기준 블록의 화소값 및 복원 화소값, 평균값을 의미하며, L은 양자화 구간의 개수, Xi는 i번째 양자화 구간, ti는 i번째 양자화 경계, ri는 i번째 양자화 구간에서의 복원 화소값을 의미한다.In equations (2) to (4) L denotes the number of quantization intervals, X i denotes an i-th quantization interval, t i denotes an i-th quantization boundary, and r i denotes a restoration in an i-th quantization interval, respectively. Pixel value.

적응적 양자화는 기존의 균등 양자화에 비해서 훨씬 효율적이며, 균등 양자화를 사용할 때 4비트의 비트 해상도로 얻을 수 있는 성능을 적응적 양자화를 사용하면 2비트로도 얻을 수 있다. 또한 연산량 측면에서 2비트 적응적 양자화가 적당하다.Adaptive quantization is much more efficient than conventional quantization, and the performance that can be obtained with 4 bit bit resolution when using uniform quantization can be obtained with 2 bits using adaptive quantization. Also, 2-bit adaptive quantization is suitable in terms of computation amount.

움직임 추정 기법에서는 정합 기준이 최소로 되는 탐색 위치를 움직임 벡터로 결정하는데, 정합 기준이 최소가 되는 탐색 위치가 여러개 존재할 때에는 그중 하나만을 움직임 벡터로 결정해야 한다. 정합 기준이 같다고 해서 압축비가 동일한 것은 아니므로, 정합 기준이 최소가 되는 탐색 위치가 여러개 존재하면 할수록 성능 저하를 초래하게 된다. 비트 해상도가 높은 경우에는 이러한 문제가 발생할 확률이 비교적 낮으나, 비트 해상도를 낮추게 되면 실제로는 다른 값을 가지고 있는 많은 화소들이 동일한 값으로 양자화되기 때문에 심각한 문제로 작용하게 된다. 또한 만약 탐색 영역 내의 모든 화소가 동일한 값으로 양자화된다면 모든 탐색 위치에서 정합 기준이 같은 값을 가지기 때문에 움직임 벡터를 찾지 못하는 경우가 발생한다. 앞으로 본 발명에서는 이러한 경우를 동점문제(tie-score problem)라고부르기로 한다.In the motion estimation technique, the search position where the matching criterion is minimum is determined as a motion vector. When there are several search positions where the matching criterion is minimum, only one of them is determined as a motion vector. Since the compression ratio is not the same when the matching criterion is the same, the more the plurality of search positions at which the matching criterion is minimum, the lower the performance. When the bit resolution is high, the probability of occurrence of such a problem is relatively low. However, if the bit resolution is lowered, a large number of pixels having different values are quantized to the same value. Also, if all the pixels in the search area are quantized to the same value, the motion vector can not be found because the matching reference has the same value at all search positions. In the present invention, this case will be referred to as a tie-score problem.

1.2 정합 기준1.2 Matching Criteria

본 발명에서는 하드웨어로 구현했을 때 면적을 크게 줄이기 위해 수학식 5과 같이 기준블록과 탐색 영역의 양자화된 코드가 일치하지 않는 화소의 개수인 상이 화소 수(DPC: different pixel count)를 제안한다. 이때는 각각 기준 블록과 탐색 영역의 양자화된 값을 의미한다.The present invention proposes a different pixel count (DPC), which is the number of pixels for which the quantized codes of the reference block and the search area do not coincide with each other, as shown in Equation (5) At this time Denote the quantized values of the reference block and the search area, respectively.

DPC는 같은 비트 해상도를 갖는 다른 정합 기준에 비해서 하드웨어의 면적을 크게 줄일 수 있다.DPC can significantly reduce the hardware area compared to other matching standards with the same bit resolution.

1.3 저해상도 양자화 움직임 추정 기법1.3 Low-Resolution Quantization Motion Estimation Technique

본 발명에서는 저해상도 탐색(LRS: low-resolution search)과 원해상도 탐색(FRS: full-resolution search)의 두 단계로 이루어지는 저해상도 양자화 움직임 추정 기법을 제안한다. 저해상도 양자화 움직임 추정 기법의 블록도는 도 3과 같이 도시할 수 있다.The present invention proposes a low-resolution quantization motion estimation method comprising two steps of a low-resolution search (LRS) and a full-resolution search (FRS). A block diagram of the low-resolution quantization motion estimation technique can be shown in FIG.

저해상도 탐색에서는 DPC를 계산하여 움직임 벡터 후보 위치(CMV: candidate motion vector) 집합을 구하고, 원해상도 탐색에서는 CMV 집합의 후보 위치에 대해서 SAD를 구하여 최종 움직임 벡터를 찾아낸다. 탐색 범위가 (-32,-32)~(31,31)일 때 매 두 개의 탐색 위치 열(row of search positions)마다 네 개 씩 총 128개의CMV를 결정한다. CMV의 개수는 연산량과 성능을 고려하여 정한다. 연산량을 더욱 줄이기 위해서 원해상도 탐색에서는 4:1 교번 부표본화 탐색 기법을 채용한다. 저해상도 양자화 움직임 추정 기법은 간략하게 다음과 같이 정리할 수 있다.In the low resolution search, DPC is calculated to obtain a candidate motion vector (CMV) set. In the original resolution search, a SAD is obtained for a candidate position of the CMV set to find a final motion vector. When the search range is (-32, -32) to (31,31), a total of 128 CMVs are determined for every four rows of search positions. The number of CMVs is determined in consideration of computation amount and performance. In order to further reduce the amount of computation, the original resolution search employs a 4: 1 alternate sub-sampling search technique. The low-resolution quantization motion estimation technique can be summarized as follows.

(1) 저해상도 탐색(1) Low resolution search

① 매 기준 블록마다 블록의 평균값과 양자화 경계를 계산한다.(1) Calculate the average value of the block and the quantization boundary for each reference block.

② 기준 블록과 탐색 영역의 화소값 모두 기준 블록의 평균값을 뺀 후 2비트로 양자화하여 저해상도 이미지를 생성한다.(2) The average value of the reference block is subtracted from the pixel values of the reference block and the search area, and the result is quantized into 2 bits to generate a low-resolution image.

③ 매 탐색 위치마다 저해상도 이미지를 사용하여 DPC를 계산한다.(3) Calculate the DPC using a low-resolution image for each search position.

④ 매 두 개의 탐색 위치 열마다 DPC가 가장 작은 네 개의 탐색 위치를 CMV로 결정한다.④ For every two search position columns, CMV determines the four search positions with the smallest DPC.

(2) 원해상도 탐색(2) Original resolution search

① 매 CMV마다 원해상도 이미지(즉 원래 화소값)를 사용하여 4:1 교번 부표본화 탐색 기법을 수행한다.1) Perform a 4: 1 alternate negative sampling search technique for each CMV using original resolution images (ie, original pixel values).

② SAD가 가장 작은 CMV를 최종 움직임 벡터로 결정한다.(2) The CMV with the smallest SAD is determined as the final motion vector.

2. 이탈 화소 배제 움직임 추정 기법2. Motion Estimation Method for Exclusion Pixel Exclusion

DPC와 같이 연산량이 작은 정합 기준을 사용하더라도 탐색 범위 전체를 탐색하는 데에는 막대한 연산량이 필요하다. 이 연산량을 줄이는 방법 중 하나는 계층적 탐색 기법에서처럼 화소의 평균값에서 DPC를 계산하여 움직임을 추정하는 방법이다. 계층적 탐색 기법에서처럼 4×4 화소의 평균값을 쓰면 성능이 심하게 저하되기 때문에 본 발명에서는 2×2 화소의 평균값만을 사용한다. 2×2 화소의 평균값만사용해도 비교해야 할 화소의 개수가 1/4로 줄고 탐색 범위 내에 있는 탐색 위치의 개수도 1/4로 줄기 때문에 전체적으로는 화소값을 평균하지 않고 DPC를 계산할 때보다 연산량을 1/16으로 줄일 수 있다. 그러나, 2×2 화소의 평균값을 사용하더라도 성능 저하가 상당하므로 DPC의 성능도 개선할 필요가 있다.Even if a matching criterion such as DPC is used with a small amount of computation, a large amount of computation is required to search the entire search range. One of the ways to reduce this computation amount is to estimate the motion by calculating the DPC from the average value of pixels as in the hierarchical search technique. As in the hierarchical search technique, the average value of 4x4 pixels significantly degrades the performance, so only the average value of 2x2 pixels is used in the present invention. The number of pixels to be compared is reduced to 1/4 and the number of search positions in the search range is reduced to 1/4 even if only the average value of 2x2 pixels is used. Can be reduced to 1/16. However, even if the average value of 2x2 pixels is used, the performance degradation is significant, so it is necessary to improve the performance of the DPC.

본 발명에서는 저해상도 양자화 움직임 추정 기법을 개선하여 ±64×±64 이상의 탐색 범위에서 효과적인 움직임 추정을 수행하기 위해서 (1) 2×2 화소의 평균값을 사용하여 탐색 범위 전체를 탐색하며, (2) 저해상도 이미지를 생성하기 위한 적응적 양자화의 성능을 개선하며, (3) DPC의 성능을 개선한 새로운 정합 기준을 사용하며, (4) 이탈 화소(outsider pixel) 개념을 도입하여 과부하 양자화 오차(overload quantization error)가 크게 발생하는 탐색 위치를 움직임 추정에서 배제함으로서 성능을 개선하는 이탈 화소 배제 움직임 추정 기법 (OPEME: outsider pixel exclusion motion estimation)을 제안하였다.In the present invention, in order to perform effective motion estimation in a search range of ± 64 × ± 64 or more by improving the low-resolution quantization motion estimation technique, (1) searching the entire search range using the average value of 2 × 2 pixels, (2) (3) use a new matching criterion that improves the performance of the DPC, (4) introduce an outsider pixel concept to overload quantization error Outsider pixel exclusion motion estimation (OPEME) which improves the performance by excluding the search position where the motion vector is large in the motion estimation.

2.1 화소 평균값의 사용2.1 Use of pixel average

탐색 범위가 클 경우에는 계층적 탐색 기법에서처럼 화소의 공간 해상도를 감소시키는 방법이 연산량을 줄이는 효과적인 방법의 하나가 될 수 있다. 공간 해상도를 감소시키는 방법으로는 (1) 부표본화(subsampling), (2) 화소 평균화(pixel averaging)를 들 수가 있다. 연산량과 PSNR을 고려할 때 2×2 화소의 평균값을 사용하여 공간 해상도를 낮추는 것이 바람직하다.If the search range is large, a method of reducing the spatial resolution of a pixel as in a hierarchical search technique can be an effective way of reducing the amount of computation. Methods for reducing spatial resolution include (1) subsampling, and (2) pixel averaging. Considering the computation amount and the PSNR, it is desirable to reduce the spatial resolution by using the average value of 2x2 pixels.

2.2 적응적 양자화2.2 Adaptive Quantization

비트 해상도를 감소시키는 방법으로는 (1) 균등 양자화를 사용하는 하위 비트 절삭(LSB truncation)과, (2) 적응적 양자화를 들 수가 있다. 연산량과 PSNR을 고려할 때 비트 해상도를 감소시키기 위해서는 2비트 적응적 양자화가 바람직하다.Methods for reducing bit resolution include (1) LSB truncation using uniform quantization, and (2) adaptive quantization. 2-bit adaptive quantization is preferable in order to reduce the bit resolution in consideration of the computation amount and the PSNR.

본 발명에서는 적응적 양자화의 성능을 높이기 위해서 평균 절대값 오차 최소화 양자화(MMAE quantization: minimum mean absolute error quantization)를 사용한다. 매 기준 블록에 대해서 세 개의 양자화 경계 m-δ, m, m+δ는 기준 블록의 양자화 오차가 최소가 되도록 결정되며, 다음과 같은 알고리즘에 의해 이진 탐색을 수행하여 찾아낸다.In the present invention, mean absolute error error quantization (MMAE) is used to improve the performance of adaptive quantization. For each reference block, the three quantization boundaries m-δ, m, m + δ are determined so that the quantization error of the reference block is minimized, and the binary search is performed by the following algorithm.

m = calculate_mean(reference_block);m = calculate_mean (reference_block);

δ = 32;? = 32;

Δ = 16;? = 16;

MAEmin= calculate_MAE(m-δ, m, m+δ);MAE min = calculate_MAE (m-delta, m, m + delta);

do {do {

MAE1= calculate_MAE(m-(δ-Δ), m, m+(δ-Δ));MAE 1 = calculate_MAE (m- (? -?), M, m + (? -?);

MAE2= calculate_MAE(m-(δ+Δ), m, m+(δ+Δ));MAE 2 = calculate_MAE (m- (? +?), M, m + (? +?));

if min(MAEmin, MAE1, MAE2) == MAE1) {if min (MAE min , MAE 1 , MAE 2 ) == MAE 1 ) {

MAEmin= MAE1;MAE min = MAE 1 ;

δ = δ-Δ;? =? -?;

} else if (MAEmin, MAE1, MAE2) == MAE2) {} else if (MAE min , MAE 1 , MAE 2 ) == MAE 2 ) {

MAEmin= MAE2;MAE min = MAE 2 ;

δ = δ+Δ;? =? +?;

}}

Δ = Δ/2;? =? / 2;

} while (Δ!=1)} while (?! = 1)

이진 탐색을 하는 이유는 양자화 경계를 계산하는 연산량을 줄이기 위해서이며, 넓은 탐색 범위를 갖는 경우에는 움직임 추정에 필요한 전체 연산량이 매우 크기 때문에 이진 탐색의 연산량은 전체 연산량에 비해 무시할 수 있다.The reason for performing the binary search is to reduce the amount of computation for calculating the quantization boundary. In the case of a wide search range, the total amount of computation required for motion estimation is very large, so that the computation amount of the binary search can be ignored as compared with the total computation amount.

2.3 정합 기준2.3 Matching Criteria

DPC는 하드웨어로 구현했을 때 면적을 크게 줄일 수 있다는 장점이 있지만, 2비트로 양자화된 코드가 일치하는지 아닌지 만을 비교하기 때문에 화소값의 차이를 자세하게 반영할 수 없다는 단점이 있다. 도 4에서 "11"로 양자화된 화소와 "01"로 양자화된 화소를 비교하였을 때의 실제 SAD값은 "11"로 양자화된 화소와 "10"으로 양자화된 화소를 비교하였을 때보다 크지만 DPC에서는 두 경우를 모두 같게 계산한다.DPC is advantageous in that it can greatly reduce the area when implemented in hardware, but it has a disadvantage in that it can not reflect the difference of pixel values in detail because it only compares whether or not the codes quantized with 2 bits are matched. 4, the actual SAD value when the pixel quantized with " 11 " is compared with the pixel quantized with " 01 " is larger than that when the pixel quantized with " 11 " In both cases, calculate the same.

이러한 문제점을 개선하기 위해서 본 발명에서는 도 4에서처럼 양자화된 코드를 비교한 값이 실제 SAD와 어느 정도 비례하도록 한 PSAD(pseudo-SAD)를 제안한다. 상기 PSAD는 양자화된 코드의 복원 화소값을 가지고 SAD와 동일한 방식으로 계산한 값이며, 수학식 6과 같이 정의된다. 이때는 각각 기준 블록과 탐색 영역의 복원 화소값을 의미한다.In order to solve such a problem, the present invention proposes a PSAD (pseudo-SAD) in which a value obtained by comparing quantized codes is proportional to an actual SAD as shown in FIG. The PSAD is a value calculated in the same manner as the SAD with the reconstructed pixel value of the quantized code, and is defined as Equation (6). At this time Denotes the restored pixel values of the reference block and the search area, respectively.

2비트 양자화를 수행하였을 때 DPC와 PSAD의 값은 표 1과 같다. PSAD는 도 5에 도시된 바와 같은 하드웨어로 구현되며, DPC 하드웨어의 장점 중에서 덧셈기 트리의 캐리 입력단을 100% 활용하는 것 이외의 모든 장점을 그대로 가지고 있다.Table 2 shows the values of DPC and PSAD when 2-bit quantization is performed. The PSAD is implemented in hardware as shown in FIG. 5 and has all of the advantages of DPC hardware, except that it uses 100% of the carry input of the adder tree.

2.4 이탈 화소2.4 Leakage pixels

화소값을 양자화할 때에는 기준 블록 및 탐색 영역을 모두 살펴서 이들의 양자화 오차를 모두 최소로 하는 양자화 경계를 결정하는 것이 이상적이나, 실제로는 탐색 영역이 매우 넓기 때문에 탐색 영역 화소값의 양자화 오차를 최소로 하는 양자화 경계를 구하기 위해서는 막대한 연산량이 필요하다. 따라서 기준 블록의 화소값만을 가지고 양자화 경계를 결정할 수 밖에 없는데, 이 때에는 다음과 같은 문제점이 생긴다.When quantizing a pixel value, it is ideal to determine a quantization boundary that minimizes all of the quantization errors by examining both the reference block and the search region. Actually, however, since the search region is very wide, the quantization error of the search region pixel value is minimized A large amount of computation is required to obtain the quantization boundary. Therefore, the quantization boundary can be determined only by the pixel value of the reference block. In this case, the following problems arise.

양자화 오차는 도 6의 (a)에 도시된 바와 같이 양자화 구간의 끝에서 발생하는 과부하 오차(overload error)와 나머지 양자화 구간에서 발생하는 과립오차(granular error)로 나뉜다. 상기 과부하 오차는 양끝에 위치한 넓은 양자화 구간 내의 화소값이 동일한 값으로 양자화되기 때문에 발생하며, 일반적으로 과부하 오차가 생기는 화소값의 숫자가 작더라도 전체적으로는 과립 오차에 비해서 큰 오차를 유발한다.The quantization error is divided into an overload error occurring at the end of the quantization interval and a granular error occurring in the remaining quantization interval as shown in FIG. 6 (a). The overload error occurs because the pixel values in the wide quantization interval located at both ends are quantized to the same value. Generally, even when the number of pixel values causing the overload error is small, the error is larger than the granularity error as a whole.

탐색 영역이 기준 블록보다 넓기 때문에, 일반적으로 도 7의 (a), (b)와 같이 탐색 영역의 화소값 범위는 기준 블록의 화소값 범위보다 훨씬 크다. 기준 블록의 화소값만을 가지고 양자화 경계를 결정하였기 때문에 도 7의 (a)에서처럼 기준 블록에서 발생하는 과부하 오차가 크지 않더라도 도 7의 (b)에서처럼 탐색 영역에서 매우 큰 과부하 오차가 발생할 가능성이 있으며, 이러한 경우 성능이 심하게 저하된다.Since the search area is wider than the reference block, the pixel value range of the search area is generally much larger than the pixel value range of the reference block as shown in Figs. 7A and 7B. Since the quantization boundary is determined only by the pixel value of the reference block, even if the overload error occurring in the reference block is not large as shown in FIG. 7A, a very large overload error may occur in the search area as shown in FIG. 7B, In this case, performance degrades severely.

그러나 탐색 영역의 화소값 중에서 과부하 오차를 일으키는 화소값은 기준 블록의 화소값과 큰 차이를 보이는 화소값이므로, 탐색 영역에서 큰 과부하 오차가 발생하는 탐색 위치에 기준 블록과 가장 닮은 정합 블록이 존재할 가능성은 극히 적다. 따라서 본 발명에서는 도 7의 (c)와 같이 일정 범위 (λminmax)를 넘는 화소를 이탈 화소(outsider pixel)로 정의한다. 그리고 어떤 탐색 위치에 대응하는 탐색 영역 블록 내에 이탈 화소가 포함되어 있으면 그 탐색 위치는 큰 과부하 오차가 발생한 것으로 간주하여 움직임 추정에서 배제하는 방법을 제안한다. 여기에서 (λmax-m)=K(pmax-m), (m-λmin)=K(m-pmin)으로 정하였고, K=(λmax-m)/(pmax-m)은 상수, m, pmax, pmin은 각각 기준 블록 화소값의 평균, 최대값, 최소값, smax, smin은 각각 탐색 영역 화소값의 최대값, 최소값이다.However, since the pixel value causing the overload error among the pixel values of the search region is a pixel value that greatly differs from the pixel value of the reference block, there is a possibility that a matching block most similar to the reference block exists at a search position where a large overload error occurs in the search region Is extremely small. Accordingly, in the present invention, a pixel exceeding a certain range (? Min ,? Max ) is defined as an outsider pixel as shown in (c) of FIG. If an escape pixel is included in a search area block corresponding to a certain search position, the search position is regarded as a large overload error and is excluded from the motion estimation. Where (λ max -m) = K ( p max -m), (m-λ min) = K was defined as (mp min), K = ( λ max -m) / (p max -m) is constant , m, p max, p min is a respective average, the maximum value of the reference block pixel value, minimum value, max s, s min is the maximum value, the minimum value of the search range for each pixel value.

상수 K가 너무 크다면 이탈 화소로 정의되는 화소의 숫자가 너무 작아져서 심한 과부하 오차가 발생하고, 결과적으로 성능이 저하된다. 또 K가 너무 작다면 너무 많은 숫자의 탐색 위치가 움직임 추정에서 배제되기 때문에, 올바른 움직임 벡터에 해당하는 탐색 위치마저 배제되는 경우가 생기고, 결과적으로 역시 성능이 감소한다. 본 발명에서 상기 K는 도 7에 도시된 바와 같이 2비트 해상도일 때 K=3/2일 때가 바람직하다. K=∞일 때는 이탈 화소를 사용하지 않는 경우에 해당하는데, 도 7에 도시된 바와 같이 이탈 화소를 사용함으로서 PSNR이 0.84 ~ 1.40 dB 만큼 개선됨을 알 수 있다.If the constant K is too large, the number of pixels defined as the escape pixel becomes too small, resulting in a severe overload error and consequently degraded performance. If K is too small, too many search positions are excluded from the motion estimation, so that search positions corresponding to the correct motion vectors are excluded, resulting in a decrease in performance. In the present invention, it is preferable that K = 3/2 when the resolution is 2-bit as shown in FIG. As shown in FIG. 7, PSNR is improved by 0.84 to 1.40 dB by using an escape pixel as K = ∞.

2.5 이탈 화소 배제 움직임 추정 기법2.5 Exit-Pixel Excluded Motion Estimation Technique

이탈 화소 배제 움직임 추정 기법은 상술한 저해상도 양자화 움직임 추정 기법을 개선한 것으로서, 저해상도 탐색(LRS: low-resolution search)과 원해상도 탐색(FRS: full-resolution search)의 두 단계로 이루어진다. 저해상도 탐색에서는 2×2 화소의 평균값을 가지고 저해상도 이미지를 생성한 후 PSAD를 계산하여 움직임 벡터 후보 집합(CMV set)을 결정하고, 원해상도 탐색에서는 CMV 집합에 대해서 각각의 CMV에 대응하는 4개의 탐색 위치의 SAD를 구하여 최종 움직임 벡터를 찾아낸다. 이탈 화소 배제 움직임 추정 기법은 간략하게 다음과 같이 정리할 수 있다.The escape pixel elimination motion estimation method is an improvement of the low-resolution quantization motion estimation method described above, and consists of two steps of low-resolution search (LRS) and full-resolution search (FRS). In the low-resolution search, a motion vector candidate set (CMV set) is determined by calculating a PSAD after generating a low-resolution image with an average value of 2 × 2 pixels. In the original resolution search, four searches corresponding to CMVs Find the SAD of the position and find the final motion vector. The outlier elimination motion estimation scheme can be summarized as follows.

(1) 저해상도 탐색(1) Low resolution search

① 기준 블록과 탐색 영역 모두에 대해 2×2 화소의 평균값을 구한다.(1) The average value of 2 × 2 pixels is obtained for both the reference block and the search area.

② 2×2 화소의 평균값을 사용하여 매 기준 블록마다 2.2절의 이진 탐색에의한 양자화 경계 m-δ, m, m+δ를 계산한다.2) Compute the quantization boundaries m-δ, m, m + δ by the binary search in Section 2.2 for each reference block using the average of 2 × 2 pixels.

③ (λminmax) 범위를 벗어나는 화소는 모두 이탈 화소로 분류한다.③ All pixels out of the range (λ min , λ max ) are classified as escape pixels.

④ 기준 블록과 탐색 영역의 화소값 모두 2.2절의 적응적 양자화에 의해 2비트로 양자화하여 저해상도 이미지를 생성한다.(4) Both pixel values of the reference block and the search area are quantized to 2 bits by adaptive quantization in section 2.2 to generate a low-resolution image.

⑤ 매 탐색 위치마다 저해상도 이미지를 사용하여 PSAD를 계산한다. 이때, 탐색 위치에 대응하는 탐색 영역 블록 내에 이탈 화소가 포함되어있으면 그 탐색 위치는 움직임 추정에서 배제한다.⑤ Calculate the PSAD using low-resolution images for each search position. At this time, if the escape pixel is included in the search area block corresponding to the search position, the search position is excluded from the motion estimation.

⑥ PSAD가 가장 작은 N개의 탐색 위치를 CMV 집합으로 결정한다.⑥ PSAD determines N least search positions as CMV set.

(2) 원해상도 탐색(2) Original resolution search

① N개의 CMV 집합에 해당하는 4N개의 탐색 위치에 대해서 원해상도 이미지(즉, 2×2 화소의 평균이 아닌 원래 화소값)를 사용하여 SAD를 계산한다. 저해상도 탐색에서 2×2 화소의 평균값을 사용하였기 때문에, 저해상도 탐색에서 얻어진 하나의 CMV는 원해상도 탐색에서 4개의 탐색 위치에 해당한다.1) Calculate the SAD using the original resolution image (ie, the original pixel value, not the average of 2 × 2 pixels) for the 4N search positions corresponding to the N CMV sets. Since the average value of 2 × 2 pixels is used in the low resolution search, one CMV obtained in the low resolution search corresponds to four search positions in the original resolution search.

② SAD가 가장 작은 탐색 위치를 최종 움직임 벡터로 결정한다.(2) SAD determines the smallest search position as the final motion vector.

3. 저해상도 양자화, 움직임 추정장치3. Low resolution quantization, motion estimation device

3.1 전체 아키텍쳐3.1 Overall Architecture

본 발명에 의한 움직임 추정기는 (-32.0,-32.0)~(31.5,31.5)의 탐색 범위를 가지며, MPEG2 MP@ML P-픽쳐에 대해서 MPEG2 국제 표준에 정의된 두 가지의 움직임 추정 모드를 동시에 처리한다. 움직임 추정기의 전체 블록도는 도 8에 도시된 바와 같다.The motion estimator according to the present invention has a search range of (-32.0, -32.0) to (31.5, 31.5) and simultaneously processes two motion estimation modes defined in the MPEG2 international standard for MPEG2 MP @ ML P- do. The overall block diagram of the motion estimator is as shown in FIG.

3.1.1 각 부분 블록의 기능3.1.1 Function of each partial block

도 9는 본 발명의 일실시예에 의한 움직임 추정장치의 기능별 블록을 도시한 것으로서, 크게 기준 블록의 평균값 및 양자화 경계를 계산하는 전처리부(PPU: pre-processing unit, 200), 2비트 저해상도 이미지를 생성하고 전체 탐색 범위에 대해 상이 화소 수(DPC)를 계산하여 움직임 벡터 후보 위치(CMV) 집합을 결정하는 저해상도 탐색부(LRS:low-resolution search unit, 210), CMV 집합에 대해서 4:1 교번 부표본화 탐색을 수행하여 정수 화소 움직임 벡터(IMV: integer-pel motion vector)를 결정하는 원해상도탐색부(FRS: full-resolution search unit, 220), 기준 블록 및 탐색 영역 데이터를 저장하며, PPU, LRS, FRS, HPS 사이의 인터페이스 버퍼 기능을 수행하는 내부 버퍼(230)으로 이루어진다.9 is a functional block diagram of a motion estimation apparatus according to an embodiment of the present invention. The motion estimation apparatus includes a preprocessing unit (PPU) 200 for calculating an average value of a reference block and a quantization boundary, a 2-bit low resolution image A low-resolution search unit (LRS) 210 for generating a motion vector candidate position (CMV) and calculating a different number of pixels (DPC) for the entire search range to determine a motion vector candidate position (CMV) A full-resolution search unit (FRS) 220 for determining an integer-pel motion vector (IMV) by performing an alternate sampling search, a reference block, and search area data, , An internal buffer 230 for performing an interface buffer function between LRS, FRS, and HPS.

그리고 통상적으로 상기 IMV에 대해서 반화소 탐색을 수행하여 반화소 움직임 벡터(HMV: half-pel motion vector)를 결정반화소 탐색부(HPS: half-pel search unit, 미도시)를 갖는다.In general, a half-pel motion vector (HMV) is determined by performing a half-pixel search on the IMV and a half-pel search unit (HPS).

상기 전처리부(200), 저해상도탐색부(210) 및 원해상도 탐색부(220)을 기능적으로 보다 상세히 설명하면 다음과 같다.The preprocessing unit 200, the low resolution search unit 210, and the original resolution search unit 220 will be described in more detail below.

전처리부(200)는 블록평균계산부(202) 및 양자화경계값 계산부(204)로 이루어진다. 상기 블록평균계산부(202)는 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 양자화경계를 계산하기 전에 기준블록의 평균을 계산한다. 양자화경계값 계산부(204)는 평균 절대값 오차 최소화 양자화(MMAE)에 의해 계산되는 양자화 경계값과 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계값(λmax, λmin)을 계산한다.The preprocessing unit 200 includes a block average calculation unit 202 and a quantization threshold value calculation unit 204. The block average calculation unit 202 calculates an average of a reference block before calculating a quantization boundary for a reference block obtained by dividing a current frame by a predetermined size and a pixel constituting a search region in a previous frame. The quantization boundary value calculation unit 204 multiplies a quantization boundary value calculated by an average absolute value error minimization quantization (MMAE), a maximum pixel value Pmax and a minimum pixel value Pmin of a reference block by a predetermined constant, Value (? Max,? Min).

저해상도 탐색부(210)는 양자화부(212), 상이도 계산부(214) 및 후보블록 결정부(216)으로 이루어진다. 상기 양자화부(212)는 상기 양자화 경계값 계산부(204)에서 생성된 양자화경계값과 이탈화소경계값을 사용하여 상기 기준블록 및 탐색영역의 화소들을 이탈화소가 구분되는 저해상도 이미지로 생성한다. 상기 상이도 계산부(214)는 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하되, 이탈화소가 포함된 탐색영역블록은 상이도 계산에서 배제한다. 상기 후보블록결정부(216)는 상기 상이도 계산부(214)에서 계산된 상이도 중 상이도가 작은 적어도 두 개의 탐색영역블록들을 결정한다.The low resolution search unit 210 includes a quantization unit 212, a degree of difference calculation unit 214, and a candidate block determination unit 216. The quantization unit 212 generates pixels of the reference block and the search region as low resolution images in which the outgoing pixels are separated using the quantization boundary value and the exit pixel boundary value generated by the quantization boundary value calculation unit 204. [ The difference calculator 214 calculates the degree of difference between the low-resolution image of the reference block and the low-resolution image of the search area block in the search area, and excludes the search area block including the exit pixel from the difference calculation. The candidate block determination unit 216 determines at least two search area blocks having different degrees of disparity among the calculated degrees of difference calculated by the difference calculation unit 214.

원해상도 탐색부(220)는 상기 복수개의 후보블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하여 움직임 벡터를 구한다. 상기 원해상도 탐색부(220)는 8x8 픽셀 SAD 계산 및 비교를 하는 8x8 픽셀 SAD 계산 및 비교부(222)와 16x16 픽셀 SAD 계산 및 비교를 하는 16x16 픽셀 SAD 계산 및 비교부(224)로 이루어진다.The original resolution search unit 220 obtains a motion vector by comparing the image of the search area block corresponding to the motion vector candidate position for the plurality of candidate blocks with the image of the original resolution of the reference block using the original resolution image . The original resolution search unit 220 includes an 8x8 pixel SAD calculation and comparison unit 8x8 pixel SAD calculation and comparison and a 16x16 pixel SAD calculation and comparison unit 224 for performing a 16x16 pixel SAD calculation and comparison.

3.1.2 메모리 대역폭을 줄이기 위한 내부 버퍼의 사용3.1.2 Use of Internal Buffers to Reduce Memory Bandwidth

본 발명에 의한 움직임 추정기는 메모리 대역폭을 줄이기 위해서 탐색 영역 전체를 내부 버퍼에 저장하는 방식을 채택한다. 도 10에서 처럼 서로 인접하는 매크로블록의 탐색 영역이 서로 겹치는 성질을 이용하여 탐색 영역 전체를 내부 버퍼에 저장한 후 재 사용하면, 매 매크로블록마다 탐색 영역 전부를 읽어들일 필요 없이 새로 추가되는 화소만 읽어들이면 되기 때문에 메모리 대역폭을 줄일 수 있다.The motion estimator according to the present invention adopts a method of storing the entire search area in an internal buffer in order to reduce the memory bandwidth. 10, if the entire search area is stored in the internal buffer using the property that the search areas of adjacent macro blocks overlap with each other and then reused, only the newly added pixels The memory bandwidth can be reduced because it is read.

내부 버퍼는 현재 매크로블록의 탐색 영역 전체를 저장하는 CSW 버퍼, 이전 매크로블록의 반화소 탐색을 위해서 탐색 영역 일부를 저장하는 PSW 버퍼, 현재 매크로블록을 저장하는 CRB 버퍼, 이전 매크로블록을 저장하는 PRB 버퍼, 다음 매크로블록을 저장하는 NRB 버퍼의 다섯 부분으로 나뉘어진다.The internal buffer includes a CSW buffer for storing the entire search area of the current macroblock, a PSW buffer for storing a search area for a half-pixel search of the previous macro block, a CRB buffer for storing the current macro block, a PRB Buffer, and an NRB buffer that stores the next macroblock.

3.2 저해상도 탐색부3.2 Low resolution search section

저해상도 탐색부는 VLSI 구현시 도 11과 같이 크게 적응적 양자화기, 저해상도 이미지 레지스터, 단위 처리기, 비교기로 구성된다.As shown in FIG. 11, the low resolution search unit includes an adaptive quantizer, a low-resolution image register, a unit processor, and a comparator in a VLSI implementation.

상기 적응적 양자화기는 화소값에서 기준 블록 평균값을 뺀 후 2비트로 양자화하여 저해상도 이미지를 생성하며, 도 12와 같은 구조를 갖는다.The adaptive quantizer subtracts the reference block average value from the pixel value, and quantizes the pixel value to 2 bits to generate a low-resolution image. The adaptive quantizer has a structure as shown in FIG.

상기 단위 처리기는 매 싸이클마다 기준 블록과 탐색령역의 한 행(column) 씩(=16 화소)을 비교한다. 기준 블록은 16 행으로 구성되어 있으므로, 한 개의 단위 처리기는 16 싸이클마다 하나의 탐색 위치를 처리하여 DPC를 계산하게 된다.The unit processor compares the reference block with each column of the search range (= 16 pixels) every cycle. Since the reference block consists of 16 rows, one unit processor processes one search position every 16 cycles to calculate the DPC.

저해상도 이미지 레지스터는 2비트로 양자화된 저해상도 이미지를 저장했다가 단위 처리기에 전달하는 쉬프트 레지스터로이다.The low-resolution image register is a shift register that stores low-resolution images quantized into 2 bits and transfers them to the unit processor.

3.3 원해상도 탐색부3.3 Original resolution search section

원해상도 탐색부는 CMV 집합의 탐색 위치에 대해서 8×8 화소 SAD를 계산하여 네 개의 후보 위치를 결정한 후 이들 네 개의 후보 위치에 대해서 16×16 화소 SAD를 계산하여 정수 화소 움직임 벡터를 결정하는 4:1 교번 부표본화 탐색을 수행한다.The original resolution search unit determines the four candidate positions by calculating the 8 × 8 pixel SAD for the CMV set search position and then calculates the 16 × 16 pixel SAD for the four candidate positions to determine the integer pixel motion vector. Perform an alternate negative sampling search.

원해상도 탐색부는 VLSI 구현시 도 13과 같이 크게 화소 데이터 준비기, 단위 처리기와 비교기로 구성된다. 4:1 교번 부표본화 탐색에서는 기준 블록 및 탐색 영역을 네 개의 그룹으로 나뉘어 따로따로 SAD를 수행한다.The original resolution search unit includes a pixel data preprocessor, a unit processor, and a comparator as shown in FIG. 13 when implementing a VLSI. In the 4: 1 alternate sampling search, the reference block and the search area are divided into four groups and SAD is separately performed.

본 발명에 의한 움직임 추정 방법 및 장치는 움직임 추정을 할 때 기존의 고속탐색 기법에 비해 연산량을 줄이면서도 성능이 우수하다.The motion estimation method and apparatus according to the present invention are superior in performance while reducing the amount of computation compared to the conventional fast search method in motion estimation.

Claims (21)

(a) 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 상기 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하는 단계;(a) generating a low-resolution image by reducing a resolution representing the pixel for a reference block obtained by dividing a current frame by a predetermined size and a search region for a previous frame; (b) 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및(b) calculating a degree of difference between a low-resolution image of the reference block and a low-resolution image of a search area block in the search area; And (c) 상기 상이도가 계산된 탐색영역블록들 중 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 하고,(c) determining a search area block having a small degree of difference among the search area blocks for which the disparity is calculated as a matching block, and obtaining a motion vector, 상기 (a) 단계는The step (a) (a-1) 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)를 사용하여 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계; 및(a-1) obtaining a quantization boundary value such that a quantization error of a reference block is minimized using an average absolute value error minimization quantization (MMAE) that minimizes an average absolute value error (MAE); And (a-2) 상기 양자화 경계값을 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하는 단계로 이루어지는, 영상시스템의 움직임 추정 방법.(a-2) generating a low-resolution image by quantizing pixel values of the reference block and the search area using the quantization boundary value. 제1항에 있어서, 상기 (c)단계는2. The method of claim 1, wherein step (c) (c-1) 복수의 탐색영역블록에 대해 상기 (a) 단계와 (b)단계를 통해 구해진 상이도 중에서 적어도 두 개의 상이도가 작은 블록(후보위치블록들)을 결정하는 단계;(c-1) determining blocks (candidate position blocks) having at least two different degrees of difference among the degrees of difference obtained through the steps (a) and (b) for the plurality of search area blocks; (c-2) 상기 적어도 두 개의 후보위치블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하는 단계; 및(c-2) comparing an image of a search area block corresponding to a motion vector candidate position for the at least two candidate position blocks with an original resolution image of the reference block using an image of the original resolution; And (c-3) 상기 (c-2) 단계에서 비교결과 이미지가 가장 유사한 블록을 정합블록으로 결정하고 최종 움직임 벡터를 구하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 추정 방법.(c-3) determining a block with the comparison result image closest to the matching block in step (c-2) and obtaining a final motion vector. 제1항 또는 제2항에 있어서, 상기 화소의 원래 해상도는3. The method of claim 1 or 2, wherein the original resolution of the pixel is 8비트로 표현되며, 저해상도는 2비트로 양자화하여 표현됨을 특징으로 하는 영상 시스템의 움직임 추정 방법.8 bits, and the low resolution is quantized to 2 bits. 제1항 또는 제2항에 있어서, 상기 (a)단계는3. The method according to claim 1 or 2, wherein the step (a) 기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계;Expressing the reference block and the search area block as the average value by grouping the pixels constituting the reference block and the search area by a predetermined number of units and obtaining an average value; 상기 평균값으로 표현된 기준블록에 대해 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)에 의해 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계;Obtaining a quantization boundary value such that a quantization error of a reference block is minimized by an average absolute value error minimization quantization (MMAE) which minimizes an average absolute value error (MAE) with respect to a reference block represented by the average value; 상기 평균값으로 표현된 기준블록 및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및Obtaining a difference between a pixel of the reference block and the search area block represented by the average value and an average value of all the reference blocks; And 상기 양자화 경계값을 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 추정 방법.And generating a low-resolution image by quantizing a difference between the pixel value of the reference block and the search area and the average value using the quantization boundary value. 제4항에 있어서, 상기 소정 개수 단위의 화소는5. The apparatus of claim 4, wherein the predetermined number of pixels 2x2 화소임을 특징으로 하는 영상 시스템의 움직임 추정 방법.Wherein the motion vector is a 2x2 pixel. 제1항 또는 제2항에 있어서, 상기 (b)단계는3. The method according to claim 1 or 2, wherein step (b) 기준블록의 저해상도 이미지의 복원화소 값에서 탐색영역블록의 저해상도 이미지의 복원 화소값을 뺀 차의 절대값을 모두 더하여 상이도를 결정함을 특징으로 하는 영상 시스템의 움직임 추정 방법.Wherein the absolute value of the difference obtained by subtracting the reconstructed pixel value of the low-resolution image of the search area block from the reconstructed pixel value of the low-resolution image of the reference block is all added to determine the degree of difference. 제1항에 있어서, 상기 양자화경계는2. The method of claim 1, wherein the quantization boundary is 이진탐색에 의해 구해짐을 특징으로 하는 영상 시스템의 움직임 추정 방법.Wherein the motion estimation is performed by a binary search. (a) 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 상기 화소를 표현하는 해상도를 줄여 저해상도 이미지로 생성하는 단계;(a) generating a low-resolution image by reducing a resolution representing the pixel for a reference block obtained by dividing a current frame by a predetermined size and a search region for a previous frame; (b) 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및(b) calculating a degree of difference between a low-resolution image of the reference block and a low-resolution image of a search area block in the search area; And (c) 상기 상이도가 계산된 탐색영역블록들 중 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함함을 특징으로 하고,(c) determining a search area block having a small degree of difference among the search area blocks for which the disparity is calculated as a matching block, and obtaining a motion vector, 상기 (a) 단계는The step (a) (a-1) 상기 기준블록의 양자화 경계값을 설정하는 단계; 및(a-1) setting a quantization boundary value of the reference block; And (a-2) 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계;(a-2) setting an outgoing pixel boundary (? max,? min) by multiplying a maximum pixel value (Pmax) and a minimum pixel value (Pmin) of the reference block by a predetermined constant; (a-3) 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어지고,(a-3) quantizing the pixel values of the reference block and the search area by using the quantization boundary value and the exit pixel boundary to generate a low-resolution image, and displaying a pixel that is out of the outline pixel boundary as an outgoing pixel , 상기 (b)단계 및 (c)단계에서 이탈화소를 포함하는 탐색영역블록은 움직임추정에서 배제하는, 영상 시스템의 움직임 추정 방법.Wherein the step (b) and the step (c) exclude the search area block including the departure pixel from the motion estimation. 제8항에 있어서, 상기 (c)단계는9. The method of claim 8, wherein step (c) (c-1) 복수의 탐색영역블록에 대해 상기 (a) 단계와 (b)단계를 통해 구해진 상이도 중에서 적어도 두 개의 상이도가 작은 블록(후보위치블록들)을 결정하는 단계;(c-1) determining blocks (candidate position blocks) having at least two different degrees of difference among the degrees of difference obtained through the steps (a) and (b) for the plurality of search area blocks; (c-2) 상기 적어도 두 개의 후보위치블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하는 단계; 및(c-2) comparing an image of a search area block corresponding to a motion vector candidate position for the at least two candidate position blocks with an original resolution image of the reference block using an image of the original resolution; And (c-3) 상기 (c-2) 단계에서 비교결과 이미지가 가장 유사한 블록을 정합블록으로 결정하고 최종 움직임 벡터를 구하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 추정 방법.(c-3) determining a block with the comparison result image closest to the matching block in step (c-2) and obtaining a final motion vector. 제8항 또는 제9항에 있어서, 상기 화소의 원래 해상도는10. The method of claim 8 or 9, wherein the original resolution of the pixel is 8비트로 표현되며, 저해상도는 2비트로 양자화하여 표현됨을 특징으로 하는 영상 시스템의 움직임 추정 방법.8 bits, and the low resolution is quantized to 2 bits. 제8항 또는 제9항에 있어서, 상기 (a)단계는The method as claimed in claim 8 or 9, wherein the step (a) 기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계;Expressing the reference block and the search area block as the average value by grouping the pixels constituting the reference block and the search area by a predetermined number of units and obtaining an average value; 상기 평균값으로 표현된 기준블록에 대해 양자화 경계값을 구하는 단계;Obtaining a quantization boundary value for a reference block represented by the average value; 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계;Setting an outgoing pixel boundary (? Max,? Min) by multiplying a maximum pixel value (Pmax) and a minimum pixel value (Pmin) of the reference block by a predetermined constant; 상기 평균값으로 표현된 기준블록 및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및Obtaining a difference between a pixel of the reference block and the search area block represented by the average value and an average value of all the reference blocks; And 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 추정 방법.Quantizing the difference between the pixel value of the reference block and the average value and the average value by using the quantization boundary value and the leaving pixel boundary to generate a low resolution image and indicating that the pixel that is out of the boundary pixel is a leaving pixel A method for motion estimation of a video system. 제11항에 있어서, 상기 소정 개수 단위의 화소는12. The display device according to claim 11, wherein the predetermined number of pixels 2x2 화소임을 특징으로 하는 영상 시스템의 움직임 추정 방법.Wherein the motion vector is a 2x2 pixel. 제8항 또는 제9항에 있어서, 상기 (b)단계는10. The method of claim 8 or 9, wherein step (b) 기준블록의 저해상도 이미지의 복원화소 값에서 탐색영역블록의 저해상도 이미지의 복원 화소값을 뺀 차의 절대값을 모두 더하여 상이도를 결정함을 특징으로 하는 영상 시스템의 움직임 추정 방법.Wherein the absolute value of the difference obtained by subtracting the reconstructed pixel value of the low-resolution image of the search area block from the reconstructed pixel value of the low-resolution image of the reference block is all added to determine the degree of difference. 제1항에 있어서, 상기 (a) 단계는The method of claim 1, wherein step (a) (a-1) 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)를 사용하여 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계;(a-1) obtaining a quantization boundary value such that a quantization error of a reference block is minimized using an average absolute value error minimization quantization (MMAE) that minimizes an average absolute value error (MAE); (a-2) 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계;(a-2) setting an outgoing pixel boundary (? max,? min) by multiplying a maximum pixel value (Pmax) and a minimum pixel value (Pmin) of the reference block by a predetermined constant; (a-3) 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록과 탐색영역의 화소값을 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어지고,(a-3) quantizing the pixel values of the reference block and the search area by using the quantization boundary value and the exit pixel boundary to generate a low-resolution image, and displaying a pixel that is out of the outline pixel boundary as an outgoing pixel , 상기 (b)단계 및 (c)단계에서 이탈화소를 포함하는 탐색영역블록은 움직임추정에서 배제하는, 영상 시스템의 움직임 추정 방법.Wherein the step (b) and the step (c) exclude the search area block including the departure pixel from the motion estimation. 제14항에 있어서, 상기 (c)단계는15. The method of claim 14, wherein step (c) (c-1) 복수의 탐색영역블록에 대해 상기 (a) 단계와 (b)단계를 통해 구해진 상이도 중에서 적어도 두 개의 상이도가 작은 블록(후보위치블록들)을 결정하는 단계;(c-1) determining blocks (candidate position blocks) having at least two different degrees of difference among the degrees of difference obtained through the steps (a) and (b) for the plurality of search area blocks; (c-2) 상기 적어도 두 개의 후보위치블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하는 단계; 및(c-2) comparing an image of a search area block corresponding to a motion vector candidate position for the at least two candidate position blocks with an original resolution image of the reference block using an image of the original resolution; And (c-3) 상기 (c-2) 단계에서 비교결과 이미지가 가장 유사한 블록을 정합블록으로 결정하고 최종 움직임 벡터를 구하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 추정 방법.(c-3) determining a block with the comparison result image closest to the matching block in step (c-2) and obtaining a final motion vector. 제14항 또는 제15항에 있어서, 상기 화소의 원래 해상도는16. The method of claim 14 or 15, wherein the original resolution of the pixel is 8비트로 표현되며, 저해상도는 2비트로 양자화하여 표현됨을 특징으로 하는 영상 시스템의 움직임 추정 방법.8 bits, and the low resolution is quantized to 2 bits. 제14항 또는 제15항에 있어서, 상기 (a)단계는16. The method of claim 14 or 15, wherein step (a) 기준블록과 탐색영역을 구성하고 있는 화소들에 대해 소정 갯수 단위로 화소들을 묶어 평균값을 구하여 상기 기준블록과 탐색영역 블록을 상기 평균값으로 표현하는 단계;Expressing the reference block and the search area block as the average value by grouping the pixels constituting the reference block and the search area by a predetermined number of units and obtaining an average value; 상기 평균값으로 표현된 기준블록에 대해 평균 절대값 오차(MAE)를 최소로 하는 평균 절대값 오차 최소화 양자화(MMAE)에 의해 기준블록의 양자화 오차가 최소가 되도록 양자화 경계값을 구하는 단계;Obtaining a quantization boundary value such that a quantization error of a reference block is minimized by an average absolute value error minimization quantization (MMAE) which minimizes an average absolute value error (MAE) with respect to a reference block represented by the average value; 상기 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계(λmax, λmin)를 설정하는 단계;Setting an outgoing pixel boundary (? Max,? Min) by multiplying a maximum pixel value (Pmax) and a minimum pixel value (Pmin) of the reference block by a predetermined constant; 상기 평균값으로 표현된 기준블록 및 탐색영역블록의 화소와 상기 기준블록전체의 평균값의 차를 구하는 단계; 및Obtaining a difference between a pixel of the reference block and the search area block represented by the average value and an average value of all the reference blocks; And 상기 양자화 경계값 및 이탈화소경계를 이용하여 상기 기준블록 및 탐색영역의 화소값과 상기 평균값의 차를 양자화하여 저해상도 이미지로 생성하되, 이탈화소경계를 벗어나는 화소는 이탈화소임을 표시하는 단계로 이루어짐을 특징으로 하는 영상 시스템의 움직임 추정 방법.Quantizing the difference between the pixel value of the reference block and the average value and the average value by using the quantization boundary value and the leaving pixel boundary to generate a low resolution image and indicating that the pixel that is out of the boundary pixel is a leaving pixel A method for motion estimation of a video system. 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 평균 절대값 오차 최소화 양자화(MMAE)에 의해 계산되는 양자화 경계값과 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 계산되는 이탈화소경계값(λmax, λmin)을 생성하는 전처리부;A quantization boundary value calculated by an average absolute value error minimization quantization (MMAE) and a maximum pixel value Pmax of a reference block are calculated for a reference block obtained by dividing a current frame by a predetermined size and a pixel constituting a search region in a previous frame, ) And a minimum pixel value (Pmin) multiplied by a predetermined constant to generate an exit pixel boundary value (? Max,? Min); 저해상도 이미지를 생성하고, 전체 탐색범위에 대해 상이화소수를 계산하여 움직임벡터 후보집합을 결정하는 저해상도 탐색부;A low-resolution search unit for generating a low-resolution image and calculating a motion vector candidate set by calculating a number of different pixels for the entire search range; 상기 복수개의 후보블럭에 대한 움직임 벡터 후보위치에 해당하는 탐색영역블록의 이미지를 원래의 해상도의 이미지를 이용하여 기준블록의 원래 해상도의 이미지와 비교하여 최종 움직임 벡터를 구하는 원해상도 탐색부를 포함함을 특징으로 하고,And a original resolution search unit for comparing the image of the search area block corresponding to the motion vector candidate positions of the plurality of candidate blocks with the image of the original resolution of the reference block using the original resolution image to obtain the final motion vector With features, 상기 저해상도 탐색부는The low- 상기 경계값 생성부에서 생성된 양자화경계값과 이탈화소경계값을 사용하여 상기 기준블록 및 탐색영역의 화소들을 이탈화소가 구분되는 저해상도 이미지로 생성하는 양자화부;A quantization unit for generating pixels of the reference block and the search region using a quantization boundary value and an exit pixel boundary value generated by the boundary value generation unit, as low resolution images in which the outgoing pixels are separated; 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하되, 이탈화소가 포함된 탐색영역블록은 상이도 계산에서 배제하는 상이도 계산부; 및A difference calculator for calculating a difference between a low-resolution image of the reference block and a low-resolution image of a search area block in the search area, wherein the search area block including the exit pixel is excluded from the difference calculation; And 상기 상이도 계산부에서 계산된 상이도 중 상이도가 작은 적어도 두 개의 탐색영역블록들을 결정하는 후보블록결정부로 이루어지는 영상시스템의 움직임 추정 장치.And a candidate block determining unit for determining at least two search area blocks having small disparity among disparity calculated by the disparity calculating unit. 제18항에 있어서, 상기 전처리부는19. The apparatus of claim 18, wherein the pre- 양자화경계를 계산하기 전에 기준블록의 평균을 계산하는 블록평균계산부; 및A block average calculation unit for calculating an average of a reference block before calculating a quantization boundary; And 평균 절대값 오차 최소화 양자화(MMAE)에 의해 계산되는 양자화 경계값과 기준블록의 최대화소값(Pmax)과 최소화소값(Pmin)에 소정의 상수를 곱하여 이탈화소경계값(λmax, λmin)을 계산하는 양자화 경계값 계산부로 이루어짐을 특징으로 하는 영상시스템의 움직임 추정 장치.The outgoing pixel boundary value (? Max,? Min) is calculated by multiplying the quantization boundary value calculated by the mean absolute error error minimization quantization (MMAE), the maximum pixel value Pmax and the minimum pixel value Pmin of the reference block by a predetermined constant And a quantization threshold value calculation unit. 제18항에 있어서,19. The method of claim 18, 상기 전처리부, 저해상도탐색부 및 원해상도 탐색부 간의 인터페이스를 수행하고, 메모리 대역폭을 줄이기 위해 탐색영역 전체 데이터를 저장하는 내부버퍼를 더 구비함을 특징으로 하는 영상시스템의 움직임 추정장치.Further comprising an internal buffer for interfacing between the preprocessing unit, the low resolution search unit and the original resolution search unit, and storing the entire search area data to reduce the memory bandwidth. 현재 프레임을 소정의 크기로 나눈 기준블록과 이전 프레임에서의 탐색영역을 구성하고 있는 화소에 대해, 소정의 양자화 경계값을 이용하여 상기 기준 블록과 상기 탐색영역의 화소값을 양자화 하여 저해상도 이미지를 생성하는 단계;A pixel value of the reference block and the search area is quantized using a predetermined quantization boundary value for a reference block obtained by dividing a current frame by a predetermined size and a pixel constituting a search area in a previous frame to generate a low resolution image ; 상기 기준블록의 저해상도 이미지와 상기 탐색영역내의 탐색영역블록의 저해상도 이미지 간의 상이도를 계산하는 단계; 및Calculating a degree of difference between a low-resolution image of the reference block and a low-resolution image of a search area block in the search area; And 상기 상이도가 계산된 탐색영역블록들 중 상이도가 작은 탐색영역블록을 정합블럭으로 결정하고, 움직임 벡터를 구하는 단계를 포함하는 영상시스템의 움직임 추정 방법.Determining a search area block having a small degree of difference among the search area blocks for which the disparity is calculated as a matching block, and obtaining a motion vector.
KR1019980035846A 1998-09-01 1998-09-01 Motion vector esitmation method and apparatus in image processing system Expired - Fee Related KR100292355B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980035846A KR100292355B1 (en) 1998-09-01 1998-09-01 Motion vector esitmation method and apparatus in image processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980035846A KR100292355B1 (en) 1998-09-01 1998-09-01 Motion vector esitmation method and apparatus in image processing system

Publications (2)

Publication Number Publication Date
KR20000018311A KR20000018311A (en) 2000-04-06
KR100292355B1 true KR100292355B1 (en) 2001-07-12

Family

ID=19549155

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980035846A Expired - Fee Related KR100292355B1 (en) 1998-09-01 1998-09-01 Motion vector esitmation method and apparatus in image processing system

Country Status (1)

Country Link
KR (1) KR100292355B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100315420B1 (en) * 1999-12-24 2001-11-28 오길록 Unified Processing Element for Motion Estimation
KR100446235B1 (en) * 2001-05-07 2004-08-30 엘지전자 주식회사 Merging search method of motion vector using multi-candidates

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100446414B1 (en) * 2002-07-15 2004-08-30 손광훈 Device for Hierarchical Disparity Estimation and Method Thereof and Apparatus for Stereo Mixed Reality Image Synthesis using it and Method Thereof
KR101441874B1 (en) 2009-08-21 2014-09-25 에스케이텔레콤 주식회사 Video Coding Method and Apparatus by Using Adaptive Motion Vector Resolution
WO2011021911A2 (en) * 2009-08-21 2011-02-24 에스케이텔레콤 주식회사 Method and apparatus for encoding/decoding images using adaptive motion vector resolution

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100315420B1 (en) * 1999-12-24 2001-11-28 오길록 Unified Processing Element for Motion Estimation
KR100446235B1 (en) * 2001-05-07 2004-08-30 엘지전자 주식회사 Merging search method of motion vector using multi-candidates
US8073056B2 (en) 2001-05-07 2011-12-06 Lg Electronics Inc. Motion vector searching method using plural search areas

Also Published As

Publication number Publication date
KR20000018311A (en) 2000-04-06

Similar Documents

Publication Publication Date Title
US7362808B2 (en) Device for and method of estimating motion in video encoder
JP4001400B2 (en) Motion vector detection method and motion vector detection device
EP1262073B1 (en) Methods and apparatus for motion estimation using neighboring macroblocks
KR100659704B1 (en) A method, apparatus, and system for obtaining a motion vector between first and second frames of video image data, and a computer-readable medium
US6307970B1 (en) Search system for use in compression
US6483876B1 (en) Methods and apparatus for reduction of prediction modes in motion estimation
EP1960967B1 (en) Motion estimation using prediction guided decimated search
US6859494B2 (en) Methods and apparatus for sub-pixel motion estimation
KR950009699B1 (en) Motion vector detection method and apparatus
US6400764B1 (en) Motion estimation method featuring orthogonal-sum concurrent multi matching
KR100994768B1 (en) Motion Estimation Method for Motion Picture Coding and Recording Media with Program for Implementing It
WO2001049029A1 (en) Methods and apparatus for motion estimation in compressed domain
JP2000165884A (en) Video picture compression and coding with field / frame decision step and motion vector DCT
EP1653744A1 (en) Non-integer pixel sharing for video encoding
US6360015B1 (en) RAM-based search engine for orthogonal-sum block match motion estimation system
US6480629B1 (en) Motion estimation method using orthogonal-sum block matching
CA2480444C (en) Methods and apparatus for efficient global motion compensation encoding and associated decoding
KR100292355B1 (en) Motion vector esitmation method and apparatus in image processing system
US6996181B2 (en) Motion estimation method by employing a stochastic sampling technique
Lin et al. Hierarchical disparity estimation using spatial correlation
KR100286818B1 (en) Fast motion estimating method for real-time video coding
Jung et al. Efficient multilevel successive elimination algorithms for block matching motion estimation
Ng et al. A new fast motion estimation algorithm based on search window sub-sampling and object boundary pixel block matching
Kossentini et al. Computation-constrained fast MPEG-2 encoding
Lee et al. Two-step motion estimation algorithm using low-resolution quantization

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

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

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

FPAY Annual fee payment

Payment date: 20120228

Year of fee payment: 12

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 13

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 13

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

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

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

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000