KR100969420B1 - Frame rate conversion method - Google Patents

Frame rate conversion method Download PDF

Info

Publication number
KR100969420B1
KR100969420B1 KR1020080010400A KR20080010400A KR100969420B1 KR 100969420 B1 KR100969420 B1 KR 100969420B1 KR 1020080010400 A KR1020080010400 A KR 1020080010400A KR 20080010400 A KR20080010400 A KR 20080010400A KR 100969420 B1 KR100969420 B1 KR 100969420B1
Authority
KR
South Korea
Prior art keywords
block
frame
motion
search
size
Prior art date
Application number
KR1020080010400A
Other languages
Korean (ko)
Other versions
KR20090084311A (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 KR1020080010400A priority Critical patent/KR100969420B1/en
Publication of KR20090084311A publication Critical patent/KR20090084311A/en
Application granted granted Critical
Publication of KR100969420B1 publication Critical patent/KR100969420B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Television Systems (AREA)

Abstract

본 발명은 낮은 프레임 레이트의 동영상을 그 프레임 레이트를 증가시켜 높은 프레임 레이트의 동영상으로 변환하는 프레임 레이트 변환 방법에 관한 것이다. 본 발명에 따른 프레임 레이트 변환 방법은, 이전 프레임과 현재 프레임에 대한 움직임 정보를 예측하는 단계와 예측된 움직임 정보를 적용하여 이전 프레임과 현재 프레임의 중간에 위치하는 새로운 프레임을 생성하는 단계를 포함한다. 이에 의하여, 높은 프레임 레이트의 동영상을 디스플레이 함에 있어서 화상 품질의 열화를 방지할 수 있으므로, 보다 향상된 화질 품질을 갖는 동영상을 보는 것이 가능하다.The present invention relates to a frame rate conversion method for converting a low frame rate video into a high frame rate video by increasing its frame rate. The frame rate conversion method according to the present invention includes predicting motion information for a previous frame and a current frame and generating a new frame located between the previous frame and the current frame by applying the predicted motion information. . As a result, it is possible to prevent deterioration of the image quality in displaying a high frame rate moving image, so that it is possible to view a moving image having more improved image quality quality.

프레임 레이트, 변환, 움직임 벡터, 탐색 윈도우, 블록 Frame rate, transform, motion vector, search window, block

Description

프레임 레이트 변환 방법{FRAME RATE CONVERSION METHOD}FRAME RATE CONVERSION METHOD

본 발명은 프레임 레이트 변환 방법에 관한 것으로, 더욱 상세하게는 낮은 프레임 레이트의 동영상을 높은 프레임 레이트의 동영상으로 변환하는 프레임 레이트 변환 방법에 관한 것이다.The present invention relates to a frame rate conversion method, and more particularly, to a frame rate conversion method for converting a low frame rate video into a high frame rate video.

휴대폰 프로젝션 디스플레이와 같은 영상 출력 장치에서 소비자의 구매 결정에 영향을 미치는 요인으로는 가격, 크기, 디자인, 수명, 소모전력 및 화질 등을 들 수 있다. 이와 같은 요소들 중에서 화질은 경쟁 상품 또는 후발 기업의 상품들과 차별화 할 수 있는 주요한 요인들 중의 하나이다. 차별화 대상인 화질을 결정하는 요소들 중의 하나로서 컬러 영상 신호 처리 기술을 들 수 있으며 최근 들어 그 중요성이 강조되고 있다. 이와 같은 측면에서 개발 대상인 휴대폰 프로젝션 디스플레이에 대해서도 화질 향상을 위한 컬러 영상 신호 처리 기술은 매우 중요한 요소 기술들 중의 하나라고 판단된다.Factors influencing consumers' purchasing decisions in video output devices such as mobile phone projection displays include price, size, design, lifespan, power consumption and picture quality. Among these factors, image quality is one of the major factors that can differentiate the products of competitors or late comers. Color image signal processing technology is one of the factors that determine the quality of image to be differentiated, and the importance of the image is emphasized in recent years. In this respect, the color image signal processing technology for improving the image quality is considered one of the most important technology for the mobile phone projection display.

컬러 영상 처리 기술 중에서 휴대폰 프로젝션 디스플레이의 화질을 개선하기 위하여 적용될 수 있는 기술에는 프레임 변환 기술이 있다. 프레임 변환 기술은 낮은 프레임 레이트의 입력 동영상을 높은 프레임 레이트의 출력 동영상으로 변환 시, 특정 아티팩트 없이 입력 동영상의 프레임 레이트를 증가시키는 기술을 의미한다. 도 1은 프레임 레이트 변환 기술의 프레임 변환 기술을 적용함으로써 낮은 프레임 레이트의 입력 동영상을 높은 프레임 레이트의 출력 동영상으로 변환하는 일례를 나타낸 것이다. 예를 들어 30 프레임/초의 DMB 영상이 휴대폰 프로젝션 디스플레이의 입력으로 사용되는 경우, 모션 져더(motion judder), 모션 블러링(motion blurring) 등의 문제점이 발생한다. 이와 같은 문제점을 해결하기 위하여 30 프레임/초를 60 프레임/초 또는 그 이상의 프레임 수를 갖도록 변환하는 기술이 필요하게 된다.Among the color image processing technologies, a frame conversion technique may be applied to improve the image quality of a mobile phone projection display. The frame conversion technology refers to a technique of increasing the frame rate of an input video without specific artifacts when converting a low frame rate input video into a high frame rate output video. 1 illustrates an example of converting a low frame rate input video into a high frame rate output video by applying a frame conversion technology of a frame rate conversion technology. For example, when a DMB image of 30 frames / sec is used as an input of a mobile phone projection display, problems such as motion judder and motion blurring occur. In order to solve such a problem, a technique for converting 30 frames / second to 60 frames / second or more frames is required.

프레임 레이트 변환에 대한 종래의 기술들은 대상의 움직임 정보를 사용하는 지의 여부에 따라 크게 두 가지 범주로 나눌 수 있다. 대상의 움직임 정보를 사용하지 않는 방법에는 프레임 반복과 프레임 평균이 있고, 움직임 정보를 사용하는 방법에는 움직임 보상 보간(motion compensated interpolation)이 있다.Conventional techniques for frame rate conversion can be broadly divided into two categories depending on whether motion information of an object is used. There is a frame repetition and a frame average in the method of not using the motion information of the object, and motion compensated interpolation in the method of using the motion information.

도 2는 종래의 프레임 반복 방법에 의하여 생성된 움직이는 대상의 위치를 도시한 예이다. 만약 관찰자가 대상의 움직임을 따라가면서 보고 있다면 관찰자가 예상한 위치는 프레임 반복에 의하여 보여지는 대상의 위치와 다를 것이다. 도 2의 네 번째 프레임 위치에 관찰자로부터 예상된 대상의 위치가 표시되어 있다. 프레임 반복 방법은 움직임이 없는 영역에서는 좋은 성능을 보이지만 움직임이 없는 영역에서는 모션 져더와 같은 문제점이 발생되고 이것은 영상 화질에 대한 큰 열화를 발생시킨다.2 illustrates an example of a position of a moving object generated by a conventional frame repetition method. If the observer is watching as the subject moves, the position expected by the observer will be different from the subject's position as seen by frame repetition. The position of the object expected from the observer is indicated in the fourth frame position of FIG. 2. The frame repetition method shows a good performance in an area without motion, but causes a problem such as motion judder in an area without motion, which causes a large deterioration in image quality.

도 3은 종래의 프레임 평균 방법에 의하여 생성된 움직이는 대상의 위치를 도시한 예이다. 프레임 평균은 보간된 출력 프레임을 얻기 위하여 두 개의 이웃하는 프레임들을 평균하는 방법이다. 이 방법은 프레임 반복 방법과 마찬가지로 움직임이 없는 영역에서는 좋은 성능을 보인다. 그러나 움직임이 있는 영역에서는 프레임 반복 방법에 의한 결과보다 모션 블러링이 더 심하게 발생한다.3 illustrates an example of a position of a moving object generated by a conventional frame averaging method. Frame averaging is a method of averaging two neighboring frames to obtain an interpolated output frame. Like the frame repetition method, this method shows good performance in the region without motion. However, motion blurring occurs more severely in the moving region than the result of the frame repetition method.

이상과 같은 종래의 방법에서는 움직임 정보가 사용되지 않기 때문에 프레임의 움직이는 영역에서는 모션 져더, 모션 블러링과 같은 아티팩트가 발생한다. 이와 같은 문제점을 해결하고 정확한 위치에 움직이는 대상을 위치시키기 위하여 움직임 보상 보간 방법이 개발되고 있다. 움직임 보상 보간 방법은 움직임 벡터를 예측하는 단계와 예측된 움직임 벡터를 이용하여 프레임을 보간하는 단계를 포함한다. 도 4는 이웃하는 프레임의 움직임 보상 평균에 의하여 보간된 출력 프레임을 도시한 예이다. 움직임 벡터가 정확하게 예측된 경우, 움직이는 영역에서 모션 블러링과 같은 아티팩트는 발생되지 않는다. 하지만 움직임 벡터를 정확하게 예측하는 기술은 구현하기 어렵다. 예측된 움직임 벡터가 부정확한 경우, 움직이는 영역에서 모션 블러링, 블록 아티팩트 등의 문제점이 발생된다. 또한 예측된 움직임 벡터에 대한 정확성의 정도는 대상의 속도나 크기에 따라 다르기 때문에 프레임 반복에 의해 발생하는 모션 블러링보다 더 심한 화질 열화가 발생될 수 있다.Since the motion information is not used in the conventional method as described above, artifacts such as motion judder and motion blurring occur in the moving region of the frame. Motion compensation interpolation method has been developed to solve this problem and to place the moving object in the correct position. The motion compensation interpolation method includes predicting a motion vector and interpolating a frame using the predicted motion vector. 4 shows an example of an output frame interpolated by a motion compensation average of neighboring frames. If the motion vector is accurately predicted, no artifacts, such as motion blur, occur in the moving region. However, a technique for accurately predicting motion vectors is difficult to implement. If the predicted motion vector is incorrect, problems such as motion blur and block artifacts occur in the moving region. In addition, since the degree of accuracy of the predicted motion vector depends on the speed or size of the object, more severe image quality degradation may occur than motion blur caused by frame repetition.

종래의 움직임 벡터를 예측하는 방법에는 화소 단위로 움직임을 예측하는 화소 재귀적 알고리즘과 블록 단위로 동일한 움직임을 갖는다는 가정 하에서 움직임 정보를 예측하는 블록 정합 알고리즘이 있다. 현재 많은 비디오 코딩에서는 데이터 흐름의 규칙성, 계산의 복잡도, 하드웨어 구현을 고려하여 블록 정합 알고리즘이 널리 사용되고 있다. 도 5는 참조 프레임의 탐색 영역 내에서 X*Y크기의 블록에 대한 움직임 벡터를 예측하는 과정을 도시한 예이다. 블록 정합 알고리즘은 블록 단위로 탐색 윈도우(search window) 내에서 최소의 정합 오차를 갖는 블록을 찾고 이 블록의 가로, 세로 변위를 추정하는 알고리즘이다. 블록 정합 알고리즘은 동영상의 한 프레임을 여러 개의 블록으로 나누고 이들의 각 블록에 대하여 참조 프레임(Reference frame)의 탐색 윈도우 내에서 정합 오차가 가장 작은 블록을 찾는다. 이 때 처리하고자 하는 블록과 참조 프레임 내에서 가장 정합이 잘 되는 블록 간의 위치 차이를 움직임 벡터라고 한다.Conventional motion vector prediction methods include a pixel recursive algorithm that predicts motion on a pixel-by-pixel basis and a block matching algorithm that predicts motion information on the assumption that they have the same motion on a block-by-block basis. In many video codings, block matching algorithms are widely used in consideration of data flow regularity, computational complexity, and hardware implementation. 5 is an example illustrating a process of predicting a motion vector for a block of size X * Y in a search region of a reference frame. The block matching algorithm is an algorithm that finds a block having the smallest matching error in a search window in units of blocks and estimates horizontal and vertical displacement of the block. The block matching algorithm divides one frame of a video into several blocks and finds the block having the smallest matching error in the search window of a reference frame for each block thereof. At this time, the position difference between the block to be processed and the block that is best matched in the reference frame is called a motion vector.

정합 오차를 계산하기 위하여 사용되는 코스트(Cost) 함수 중에서 널리 사용되는 것에는 summed absolute difference (SAD), summed square error (SSE), 그리고 normalize cross correlation function (NCCF)이 있다. SAD는 [수학식 1]을 이용하여 계산된다.Among the widely used Cost functions used to calculate the matching error are the summed absolute difference (SAD), the summed square error (SSE), and the normalize cross correlation function (NCCF). SAD is calculated using [Equation 1].

Figure 112008008395715-pat00001
Figure 112008008395715-pat00001

여기서,

Figure 112008008395715-pat00002
는 후보 움직임 벡터의 좌표값이고,
Figure 112008008395715-pat00003
는 화소의 좌표값을 나타낸다.
Figure 112008008395715-pat00004
는 현재 처리하고자 하는 블록의 중심 좌표값을 나타내고,
Figure 112008008395715-pat00005
Figure 112008008395715-pat00006
를 중심으로 하는 블록을 나타낸다.
Figure 112008008395715-pat00007
는 t 번째 프레임의
Figure 112008008395715-pat00008
에 해당하는 화소의 밝기값이다. 그리고 t는 시간을 나타내는 변수이고, n 과 T는 자연수이다.here,
Figure 112008008395715-pat00002
Is the coordinate value of the candidate motion vector,
Figure 112008008395715-pat00003
Represents the coordinate value of the pixel.
Figure 112008008395715-pat00004
Represents the center coordinates of the block to be processed.
Figure 112008008395715-pat00005
Is
Figure 112008008395715-pat00006
Represents a block centered on.
Figure 112008008395715-pat00007
Of the t th frame
Figure 112008008395715-pat00008
The brightness value of the pixel corresponding to. T is a time variable, and n and T are natural numbers.

SSE와 NCCF는 각각 [수학식 2]와 [수학식 3]에 의하여 계산된다.SSE and NCCF are calculated by Equation 2 and Equation 3, respectively.

Figure 112008008395715-pat00009
Figure 112008008395715-pat00009

Figure 112008008395715-pat00010
Figure 112008008395715-pat00010

SAD는 구현하기에 가장 간단하다. SSE는 제곱 연산을 하기 때문에 오차 값의 범위를 표현하는 데 많은 비트 수가 필요하다. 그래서 SSE 계산에는 SAD의 경우보다 더 많은 하드웨어 량이 요구된다. NCCF는 곱셈과 나눗셈 연산을 수행하기 때문에 복잡한 하드웨어가 요구된다. 그러므로 SAD가 실 시간 처리에 널리 사용된다.SAD is the simplest to implement. Because SSE is a squared operation, a large number of bits are needed to represent a range of error values. Therefore, SSE calculation requires more hardware than SAD. Since NCCF performs multiplication and division operations, complex hardware is required. Therefore, SAD is widely used for real time processing.

종래의 움직임 벡터를 탐색하는 방법에는 전역 탐색(full search), 서브 샘플링 탐색, 삼 단계 탐색, 2차원 로가리듬(logarithm) 탐색, 다이아몬드 탐색 등 여러 가지 방법이 있다. 이하, 첨부된 도면을 참조하여 종래의 탐색 방법에 관하여 상세히 설명한다.Conventional methods of searching for motion vectors include various methods such as full search, subsampling search, three-step search, two-dimensional logarithm search, and diamond search. Hereinafter, a conventional search method will be described in detail with reference to the accompanying drawings.

전역 탐색은 가장 간단한 블록 정합 방법이다. 전역 탐색에서는 탐색 범위 내의 가능한 모든 후보 움직임 벡터에 대하여 정합 오차를 계산한 후에 움직임 벡터를 예측한다. 이 방법은 모든 후보 움직임 벡터에 대하여 정합 오차를 계산하기 때문에 계산 량이 많다. 따라서 전역 탐색은 실시간 비디오 코딩 응용 분야 및 소프트웨어 구현에 사용되기 어렵다. 이와 같은 문제점을 해결하기 위하여 여러 가지 고속 블록 정합 방법들이 개발되고 있다.Global search is the simplest block matching method. Global search predicts the motion vector after calculating the matching error for all possible candidate motion vectors within the search range. This method is computationally expensive because it calculates the matching error for all candidate motion vectors. Global search is thus difficult to use for real-time video coding applications and software implementations. In order to solve this problem, various fast block matching methods have been developed.

서브 샘플링 탐색은 정합 오차의 계산에 사용되는 화소의 수를 줄임으로써 계산 량을 감소시킨다. 대표적인 방법으로는 alternating 4:1 pixel sub-sampling, sub-sampled motion field estimation, sub-block motion field estimation이 있다.The subsampling search reduces the amount of computation by reducing the number of pixels used to calculate the matching error. Representative methods include alternating 4: 1 pixel sub-sampling, sub-sampled motion field estimation, and sub-block motion field estimation.

Alternating 4:1 pixel sub-sampling에서는 네 개의 서브 샘플링 패턴을 사용한다. 도 6은 서브 샘플링 패턴을 설명하기 위한 도면으로써 각 화소에 'a', 'b', 'c', 'd'로 표시된 8×8 블록을 나타낸 도면이다. 패턴 A는 8×8 블록내의 모든 ‘a’ 화소들로 구성된 서브 샘플링 패턴이다. 마찬가지로 패턴 B, C, D는 모든 ‘b’, ‘c’, ‘d’ 화소들로 구성된 서브 샘플링 패턴이다. 종래의 4:1 서브-샘플링(sub-sampling) 방법에서는 패턴 A의 화소들만 블록 정합에 사용되고 그 결과 계산 량은 1/4로 감소된다. 그러나 8×8 블록에서 3/4의 화소들은 정합 계산에 사용되지 않기 때문에 예측된 움직임 벡터의 정확성을 신뢰하기 어렵다. 이와 같은 문제점을 보완하기 위해 개발된 Alternating 4:1 pixel sub-sampling 기법에서는 네 개의 서브 샘플링 패턴 A, B, C, D를 모두 사용한다. Alternating 4: 1 pixel sub-sampling uses four subsampling patterns. FIG. 6 is a diagram for explaining a subsampling pattern and shows 8 × 8 blocks labeled 'a', 'b', 'c', and 'd' in each pixel. Pattern A is a sub-sampling pattern composed of all 'a' pixels in an 8x8 block. Similarly, patterns B, C, and D are subsampling patterns composed of all the 'b', 'c', and 'd' pixels. In the conventional 4: 1 sub-sampling method, only pixels of the pattern A are used for block matching, and as a result, the amount of calculation is reduced to 1/4. However, since 3/4 pixels in an 8x8 block are not used for matching calculation, it is difficult to trust the accuracy of the predicted motion vector. The Alternating 4: 1 pixel sub-sampling technique developed to solve this problem uses all four subsampling patterns A, B, C, and D.

도 7a 및 도 7b는 탐색 영역 상에서 네 개의 서브 샘플링 패턴의 사용 순서를 나타낸 도면이다. 각 화소는 ‘1’, ‘2’, ‘3’, ‘4’로 표시되어 있다. 후보 블록의 첫 번째 화소(블록의 upper-left 위치)가 1로 표시된 경우 정합 오차 계산에는 패턴 A의 화소들만 사용된다. 도 7a의 경우 패턴 A에 대한 정합 오차를 계산한 후에 한 화소 오른쪽에 위치한 후보 블록에 대한 정합 오차를 계산할 때에는 패턴 D가 사용된다. 처리하고자 하는 블록마다 각 패턴 A, B, C, D에 대한 최소 정합 오차를 갖는 네 개의 후보 블록이 선택될 것이다. 모든 화소들을 사용해서 처리하고자 하는 블록과 네 개의 후보 블록과의 정합 오차를 구한 다음 그 중에서 최소 정합 오차를 갖는 블록의 위치가 최종적인 움직임 벡터의 좌표로 선택된다. 네 개의 서브 샘플링 패턴의 사용 순서에 의해 처리하게 되면 이전 프레임의 탐색 영역 내의 모든 화소들을 사용하게 된다.7A and 7B are diagrams illustrating a use order of four subsampling patterns on a search area. Each pixel is labeled '1', '2', '3', and '4'. When the first pixel (the upper-left position of the block) of the candidate block is indicated by 1, only pixels of the pattern A are used for calculating the matching error. In the case of FIG. 7A, after calculating the matching error for the pattern A, the pattern D is used to calculate the matching error for the candidate block located to the right of one pixel. For each block to be processed, four candidate blocks with minimum matching errors for each pattern A, B, C, and D will be selected. Using all the pixels, the matching error between the block to be processed and the four candidate blocks is obtained, and then the position of the block having the minimum matching error is selected as the coordinate of the final motion vector. Processing according to the order of use of the four subsampling patterns uses all the pixels in the search region of the previous frame.

Sub-sampled motion field 방법에서는 비디오 시퀀스의 움직임이 대부분 부드럽고 천천히 변한다는 특성을 이용한다. 따라서 이웃하는 블록들의 움직임 벡터는 거의 유사하다. 처리하고자 하는 블록과 이웃하는 블록들에 대한 움직임 벡터가 서로 유사하다는 가정 하에 먼저 현재프레임에 있는 블록의 반에 대한 움직임 벡터를 예측한다. The sub-sampled motion field method uses the characteristic that the motion of the video sequence is changed smoothly and slowly. Thus, the motion vectors of neighboring blocks are almost similar. Assuming that the motion vectors for the block to be processed and the neighboring blocks are similar to each other, first, a motion vector for half of the block in the current frame is predicted.

도 8은 현재 프레임 상의 블록을 나타낸 것으로 sub-sampled motion field 방법을 설명하기 위한 도면이다. 도 8에서 가운데 블록 A와 인접한 어두운 블록에 대한 네 개의 움직임 벡터를 찾고, 이 중에서 블록 A와 최소 정합 오차를 갖는 움직임 벡터가 블록 A의 움직임 벡터로 선택된다. 블록 A의 움직임이 이웃하는 블록 의 움직임의 방향 및 크기와 거의 같은 경우 이 방법은 성공적으로 움직임 벡터를 예측할 수 있을 것이다. 그러나 블록 A가 다른 방향으로 움직이는 두 대상을 포함하는 경우 sub-sampled motion field 방법에 의해 예측된 블록 A의 움직임에 대한 정확한 움직임 벡터를 예측하기 어렵다.8 is a diagram illustrating a block on a current frame and illustrating a sub-sampled motion field method. In FIG. 8, four motion vectors for a dark block adjacent to the center block A are found, and a motion vector having a minimum matching error with the block A is selected as the motion vector of the block A. If the motion of block A is about the same as the direction and magnitude of the motion of the neighboring block, this method can successfully predict the motion vector. However, when block A includes two objects moving in different directions, it is difficult to predict an accurate motion vector for the motion of block A predicted by the sub-sampled motion field method.

블록 정합 방법에서 사용되는 블록의 크기가 N×N인 경우, sub-block motion field estimation에서는 N/2×N/2 크기의 블록을 사용한다. 도 9는 현재 프레임에서 각 블록이 N/2×N/2 크기를 갖는 4개의 서브 블록으로 나눠진 것을 나타낸 도면이다. 도 9에서 A, a, b, c는 한 블록 내의 서브 블록을 나타내고 B, C, D는 이웃하는 블록의 서브 블록을 의미한다. 우선 각 블록에서 왼쪽 위에 존재하는 서브 블록(A, B, C, D)의 움직임 벡터를 예측한다. 그런 다음 예측된 이웃하는 서브 블록의 움직임 벡터를 이용해서 나머지 서브 블록의 움직임 벡터도 예측한다. 예를 들어 도 9에서 서브 블록 a의 움직임 벡터는 A와 B의 움직임 벡터 중에서 더 잘 정합되는 것으로 할당된다. 또한 서브 블록 b는 A와 C의 움직임 벡터 중에서 선택되고, 서브 블록 c는 A, B, C, D의 움직임 벡터 중에서 선택된다. 그러나 sub-block motion field estimation 방법은 더 작은 크기의 블록을 사용하기 때문에 움직임이 거의 없는 영역에서 움직임 벡터를 잘못 예측할 가능성이 있다. 이 범주에 속하는 기법들은 일정한 규칙에 의해 제한된 화소들만 정합 오차 계산에 사용되기 때문에 하드웨어적으로 사용되는 메모리의 양이 줄어든다.When the size of a block used in the block matching method is N × N, sub-block motion field estimation uses a block of size N / 2 × N / 2. 9 is a diagram showing that each block is divided into four sub-blocks having a size of N / 2 × N / 2 in the current frame. In FIG. 9, A, a, b, and c represent subblocks within one block, and B, C, and D represent subblocks of neighboring blocks. First, the motion vectors of the sub-blocks A, B, C, and D in the upper left corner of each block are predicted. Then, the motion vector of the remaining subblock is predicted using the motion vector of the predicted neighboring subblock. For example, in FIG. 9, the motion vector of the subblock a is assigned to be better matched among the motion vectors of A and B. Further, the sub block b is selected from the motion vectors of A and C, and the sub block c is selected from the motion vectors of A, B, C, and D. However, since the sub-block motion field estimation method uses a smaller block size, there is a possibility of incorrectly predicting a motion vector in an area where there is little motion. Techniques in this category reduce the amount of memory used in hardware because only pixels limited by certain rules are used to calculate the matching error.

삼 단계 탐색은 넓은 영역에 걸쳐 몇 개의 탐색 점을 조사한 후 점차 범위를 좁혀 나가는 방식으로 간단함과 효율성 때문에 비디오 압축에 널리 사용된다. 도 10a 내지 도 10c는 삼 단계 탐색을 수행하는 과정을 설명하기 위한 도면이다. 탐색 윈도우가 7일 때, 삼 단계 탐색의 첫 번째 단계에서는 도 10a에 도시된 바와 같이 7×7 격자(grid)상에 균등하게 할당된 9개의 탐색 점을 이용해서 최소 정합 오차를 갖는 점을 찾는다. 다음 단계에서는 도 10b에 도시된 바와 같이 이전 단계에서 찾은 최소 정합 오차의 탐색 점을 중심으로 8개의 탐색 점을 추가한다. 이때 두 탐색 점 사이의 거리는 이전 단계의 것보다 반으로 감소된다. 다음 단계에서는 도 10c에 도시된 바와 같이 탐색 점 사이의 거리가 1이 될 때까지 현 단계의 탐색 점 사이의 거리를 반으로 감소시키면서 최소 정합 오차를 갖는 점을 찾는다. 9개의 탐색 점들 중에서 최소 정합 오차를 갖는 탐색 점의 위치는 움직임 벡터를 의미한다.Three-stage search is widely used for video compression because of its simplicity and efficiency by examining several search points over a large area and then gradually narrowing them down. 10A to 10C are diagrams for describing a process of performing a three-stage search. When the search window is 7, the first step of the three-stage search finds the point with the minimum matching error using nine search points evenly allocated on a 7x7 grid as shown in FIG. 10A. . In the next step, as shown in FIG. 10B, eight search points are added around the search points of the minimum matching error found in the previous step. The distance between the two search points is then reduced by half that of the previous step. In the next step, as shown in FIG. 10C, the point having the minimum matching error is found while reducing the distance between the search points in the current step by half until the distance between the search points becomes 1. The position of the search point having the minimum matching error among the nine search points means a motion vector.

도 11은 탐색 영역 내의 정합 오차를 나타낸 오차 표면(error surface)을 도시한 도면이다. 도 11에 도시된 바와 같이 탐색 영역 내에 여러 개의 지역 최소값(local minimum)이 존재한다는 것을 알 수 있다. 삼 단계 탐색의 첫 번째 단계에서는 탐색 영역 내에서 균등하게 할당된 탐색 점을 사용하기 때문에 지역 최소값(local minimum)에 빠지기 쉽다. 따라서 작은 움직임을 추정할 때 삼 단계 탐색 방법은 비효율적이다.FIG. 11 is a diagram illustrating an error surface showing a matching error in a search area. FIG. As shown in FIG. 11, it can be seen that there are several local minimums in the search area. The first phase of the three-step search uses search points evenly allocated within the search area, making it easy to fall into local minimums. Therefore, the three-stage search method is inefficient when estimating small movements.

2차원 로가리듬(logarithm) 탐색은 5×5 격자(grid) 상에서 5개의 탐색 점을 조사한 후 반복적으로 각 탐색 점의 블록 정합 오차를 비교한 다음 탐색 범위를 반으로 줄여서 탐색하는 방식이다. The two-dimensional logarithm search is a method of searching five search points on a 5 × 5 grid, repeatedly comparing the block matching error of each search point, and then searching by reducing the search range in half.

도 12a 내지 도 12c는 2차원 로가리듬 탐색을 수행하는 과정을 설명하기 위한 도면이다. 도 12a에 도시된 바와 같이 탐색 윈도우가 7일 때, 2차원 로가리듬 탐색에서는 5×5 격자(grid)상에 균등하게 할당된 5개의 탐색 점을 이용해서 최소 정합 오차를 갖는 점을 찾는다. 도 12c에 도시된 바와 같이 최소 정합 오차를 갖는 탐색 점이 5개의 탐색 점의 중심과 같은 경우 최소 정합 오차를 갖는 탐색 점을 중심으로 8개의 탐색 점을 추가한다. 이때 두 탐색 점 사이의 거리는 초기 단계의 것보다 반이다. 최소 정합 오차를 갖는 탐색 점이 5개의 탐색 점의 중심과 같지 않은 경우 도 12b에 도시된 바와 같이 최소 정합 오차를 갖는 탐색 점을 중심으로 이전 단계의 과정을 반복한다. 이 과정은 최소 정합 오차의 점이 5×5 격자(grid) 상의 중심과 같을 때까지 반복된다. 9개의 탐색 점들 중에서 최소 정합 오차를 갖는 탐색 점의 위치가 움직임 벡터의 좌표가 된다.12A to 12C are diagrams for describing a process of performing a 2D logical rhythm search. As shown in FIG. 12A, when the search window is 7, the two-dimensional logarithmic search finds the point having the minimum matching error by using five search points evenly allocated on the 5 × 5 grid. As shown in FIG. 12C, when the search point having the minimum matching error is the same as the center of the five search points, eight search points are added around the search point having the minimum matching error. The distance between the two search points is half that of the initial stage. If the search point having the minimum matching error is not the same as the center of the five search points, the process of the previous step is repeated around the search point having the minimum matching error as shown in FIG. 12B. This process is repeated until the point of the minimum matching error is equal to the center on the 5x5 grid. The position of the search point having the minimum matching error among the nine search points becomes the coordinate of the motion vector.

다이아몬드 탐색은 움직임 벡터의 분포가 탐색 윈도우의 중심에 집중되어 있다는 가정 하에서 수행된다. 다이아몬드 탐색에서는 두 가지 탐색 패턴을 사용한다. 도 13a 내지 도 13b는 다이아몬드 탐색에서 사용되는 두 가지 탐색 패턴을 도시한 도면이다. 첫 번째 탐색 패턴은 도 13a에 도시된 바와 같이 큰 다이아몬드 탐색 패턴으로 다이아몬드 형태이고, 두 번째 탐색 패턴은 도 13b에 도시된 바와 같이 더 작은 크기를 갖는 형태의 작은 다이아몬드 탐색 패턴이다. 다이아몬드 탐색에서는 최소 블록 정합 오차가 탐색 패턴의 중심에 존재할 때까지 큰 다이아몬드 탐색 패턴을 이용해서 반복적으로 탐색을 한다. Diamond search is performed under the assumption that the distribution of motion vectors is concentrated in the center of the search window. Diamond search uses two search patterns. 13A-13B illustrate two search patterns used in diamond search. The first search pattern is a large diamond search pattern as shown in FIG. 13A, which is diamond shaped, and the second search pattern is a small diamond search pattern having a smaller size, as shown in FIG. 13B. In the diamond search, the search is repeated using a large diamond search pattern until the minimum block matching error is at the center of the search pattern.

도 14는 다이아몬드 탐색을 수행하는 과정을 도시한 예이다. 도 14에 도시된 바와 같이 큰 다이아몬드 탐색 패턴의 최소 정합 오차를 갖는 위치가 다이아몬드의 꼭지점에 존재하는 경우 5개의 탐색 점이 추가되고, 큰 다이아몬드 탐색 패턴의 최 소 정합 오차를 갖는 위치가 다이아몬드의 면 부분에 존재하는 경우 3개의 탐색 점이 추가된다. 큰 다이아몬드 탐색 패턴의 최소 정합 오차를 갖는 위치가 다이아몬드의 중심에 존재하는 경우 탐색 패턴이 큰 다이아몬드 탐색 패턴에서 작은 다이아몬드 탐색 패턴으로 변경된다. 이때, 작은 다이아몬드 탐색 패턴 내에 최소 블록 정합 오차를 갖는 탐색 점의 위치가 예측된 움직임 벡터의 좌표와 같다.14 illustrates an example of a diamond search. As shown in FIG. 14, five search points are added when the position having the minimum matching error of the large diamond search pattern is present at the vertex of the diamond, and the position having the minimum matching error of the large diamond search pattern is the face portion of the diamond. If present, three search points are added. If the location with the minimum matching error of the large diamond search pattern is at the center of the diamond, the search pattern is changed from the large diamond search pattern to the small diamond search pattern. At this time, the position of the search point having the minimum block matching error in the small diamond search pattern is equal to the coordinate of the predicted motion vector.

움직임 예측 방법에서는 사용되는 블록의 크기에 의하여 예측된 움직임 벡터의 정확성이 달라진다. 이와 같은 종래의 방법에서는, 고정된 크기의 블록을 사용하기 때문에 대상의 크기에 따라 예측된 움직임 벡터의 정확도가 일정하지 않은 문제점이 있다. 예를 들어 한 블록 내에 다른 방향을 갖는 두 가지 이상의 대상이 포함되는 경우 그 블록의 정확한 움직임 벡터를 예측하는 것은 어렵다. In the motion prediction method, the accuracy of the predicted motion vector varies depending on the size of a block used. In this conventional method, there is a problem in that the accuracy of the predicted motion vector is not constant according to the size of the target because a fixed size block is used. For example, if two or more objects having different directions are included in one block, it is difficult to predict the exact motion vector of the block.

본 발명은 상기한 종래 기술의 문제점을 해결하기 위하여 안출된 것으로서, 휴대폰 프로젝션 디스플레이의 화질을 향상시키기 위하여 간단한 계산 량 및 하드웨어 량을 사용하면서, 움직임 벡터를 예측하고 예측된 움직임 벡터를 이용하여, 프레임 레이트를 향상시킬 수 있는 프레임 레이트 변환 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems of the prior art, and predicts a motion vector and uses a predicted motion vector while using a simple amount of computation and hardware to improve the image quality of a mobile phone projection display. It is an object of the present invention to provide a frame rate conversion method capable of improving the rate.

또한, 본 발명은 대상의 움직임 정도에 따라서 가변 크기의 블록과 탐색 영역을 사용함으로써 모션 져더나 모션 블러링과 같은 아티팩트를 방지할 수 있는 프레임 레이트 변환 방법을 제공하는 것을 목적으로 한다.In addition, an object of the present invention is to provide a frame rate conversion method that can prevent artifacts such as motion judder or motion blur by using blocks and search areas of variable size according to the degree of movement of the object.

상기한 과제를 해결하기 위한 본 발명에 따른 프레임 레이트 변환 방법은 낮은 프레임 레이트의 동영상을 그 프레임 레이트를 증가시켜 높은 프레임 레이트의 동영상으로 변환하는 프레임 레이트 변환 방법에 있어서, 대상의 속도나 크기에 따라 다른 크기의 블록과 탐색 윈도우를 사용해서 움직임 벡터를 예측하는 제 1 단계 및 상기 예측된 움직임 벡터를 이용해서 낮은 프레임 레이트의 동영상을 높은 프레임 레이트의 동영상으로 변환하는 제 2 단계를 포함한다.The frame rate conversion method according to the present invention for solving the above problems is a frame rate conversion method for converting a low frame rate video to a high frame rate video by increasing the frame rate, according to the speed or size of the target A first step of predicting a motion vector using blocks of different sizes and a search window, and a second step of converting a low frame rate video into a high frame rate video using the predicted motion vector.

여기서, 상기 제 1 단계는, 이전 프레임과 현재 프레임의 동일 위치에 있는 제 1 크기의 블록에 대한 움직임 활동도를 예측하는 제 1 과정, 상기 예측된 움직임 활동도를 이용하여 대상의 크기와 속도에 적합한 블록 및 탐색 윈도우의 크기를 결정하는 제 2 과정 및 블록 정합 알고리즘을 이용하여 각 블록의 움직임 벡터를 예측하는 제 3 과정을 포함한다.The first step may include a first process of predicting a motion activity of a block of a first size at the same position as a previous frame and a current frame, and using the predicted motion activity to determine the size and speed of an object. A second process of determining an appropriate block and size of a search window and a third process of predicting a motion vector of each block using a block matching algorithm.

여기서, 상기 제 2 과정은 상기 SAD 값에 따라 블록이 정적 타입인지 동적 타입인지 결정하는 타입 결정 과정, 2 개의 이웃하는 동일 크기의 정적 타입 블록을 병합하여 블록의 크기를 확장하는 블록 병합 과정 및 블록의 타입에 따라 탐색 윈도우의 크기를 다르게 결정하는 탐색 윈도우 크기 결정 과정을 포함한다.Here, the second process is a type determination process for determining whether a block is a static type or a dynamic type according to the SAD value, a block merging process for expanding the size of the block by merging two neighboring identical sized static type blocks and the block. A search window size determining process may be performed to determine a size of the search window differently according to the type of.

또한, 상기 제 2 과정은 병합된 블록 간에 대해서도 제 2 크기의 블록이 될 때까지 상기 블록 병합 과정을 반복한다.In addition, the second process repeats the block merging process until the block of the second size also becomes between the merged blocks.

상기 제 3 과정은 이전 프레임의 탐색 윈도우 내에서 현재 프레임의 블록과 최소 정합 오차를 가지는 위치를 찾아 움직임 벡터를 결정하는 순방향 움직임 예측 과정, 상기 이전 프레임의 탐색 윈도우 내의 각 위치에서의 SAD값과 그 중 최소 SAD값과의 차이가 제 1 문턱값보다 작은 위치의 수가 제 2 문턱값보다 많은 경우 현재 프레임의 탐색 윈도우 내에서 이전 프레임의 블록과 최소 정합 오차를 가지는 위치를 찾아 움직임 벡터를 결정하는 역방향 움직임 예측 과정, 정지 움직임을 보정하는 보정 과정 및 현재 프레임 상의 처리하고자 하는 블록과 이전 프레임 상에서 예측된 블록 사이의 최소 정합 오차가 제 3 문턱값보다 작은 경우, 확장된 탐색 윈도우 상에서 움직임 예측을 다시 수행하는 재수행 과정을 포함한다.The third process is a forward motion prediction process of determining a motion vector by finding a position having a minimum matching error with a block of the current frame in a search window of a previous frame, and a SAD value at each position in the search window of the previous frame and its If the difference between the minimum SAD value and the number of positions smaller than the first threshold is larger than the second threshold value, the backward direction of determining the motion vector by finding the position having the minimum matching error with the block of the previous frame in the search window of the current frame. If the minimum prediction error between the motion prediction process, the correction process for correcting the still motion, and the block to be processed on the current frame and the block predicted on the previous frame is smaller than the third threshold, the motion prediction is performed again on the extended search window. Includes a redo process.

상기와 같이 구성되는 본 발명에 따른 프레임 레이트 변환 방법은 대상의 속도와 크기에 적합한 블록의 크기와 탐색 윈도우를 사용하여 움직임 벡터를 예측함 으로써 모션 블러링이나 블록 아티팩트와 같은 아티팩트를 최소화한 결과 화상을 얻을 수 있으며, 또한 움직임이 거의 없는 영역에서는 탐색 윈도우를 작게 사용함으로써 계산량이 감소되는 효과가 있다.The frame rate conversion method according to the present invention configured as described above results in minimizing artifacts such as motion blur or block artifacts by predicting a motion vector using a block size and a search window suitable for the speed and size of an object. In addition, the calculation amount can be reduced by using a small search window in the region where there is little movement.

즉, 낮은 프레임 레이트를 갖는 입력 동영상에 프레임 레이트 변환 방법을 적용함에 있어서, 간단한 하드웨어와 적은 계산량을 사용하면서 화상 품질을 향상시킬 수 있으므로, 휴대폰 프로젝션 디스플레이를 대상으로 실시간 동영상 처리를 수행하는 것이 가능한 효과가 있다.That is, in applying the frame rate conversion method to an input video having a low frame rate, it is possible to improve image quality while using simple hardware and a small amount of calculation, so that it is possible to perform real-time video processing on a mobile phone projection display. There is.

이하에서는 첨부된 도면들을 참조하여 본 발명의 바람직한 실시 예를 상세하게 설명한다. 다만, 본 발명을 설명함에 있어서 관련된 공지기술 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것 이다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention. However, in describing the present invention, when it is determined that the detailed description of the related known technology or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be made based on the contents throughout the specification.

도 15는 본 발명에 따른 프레임 레이트 변환 방법을 수행하는 전체적인 흐름이 도시된 순서도이다. 도 15에 도시된 바와 같이 먼저, 이전 프레임과 현재 프레임을 입력받고(S110), 이전 프레임과 현재 프레임의 차이를 계산한다(S120).15 is a flowchart illustrating the overall flow of performing the frame rate conversion method according to the present invention. As shown in FIG. 15, first, a previous frame and a current frame are input (S110), and a difference between a previous frame and a current frame is calculated (S120).

이전 프레임과 현재 프레임의 차이가 큰 경우, 즉 화면이 전환되는 등의 경우와 같은 경우를 트랜지션(transition)타입이라 하는데, 두 프레임을 비교하여 트 랜지션(transition) 타입인지 아닌지 비교한다(S130).The case where the difference between the previous frame and the current frame is large, that is, when the screen is switched, etc., is called a transition type. The two frames are compared to compare whether they are a transition type or not (S130). .

만약 프레임이 트랜지션(transition)타입인 경우에는 움직임 예측 단계를 거치지 않고 프레임 보간 단계를 수행한다(S150). 트랜지션(transition) 타입인 프레임에서 예측된 움직임 벡터의 정확도가 낮기 때문에 결과 영상의 화질이 좋지 않다. 트랜지션(transition) 타입이 아닌 경우에는 제안하는 움직임 예측 방법을 수행하고(S140) 이에 의해 예측된 움직임 벡터를 이용해서 프레임 보간 단계를 수행한다(S150). 하기의 [수학식 4]는 트랜지션(transition) 타입의 경우, 수행되는 프레임 보간 방법을 나타내는 식이다.If the frame is a transition type, the frame interpolation step is performed without going through the motion prediction step (S150). The quality of the resulting image is not good because the accuracy of the predicted motion vector in the transition type frame is low. If it is not a transition type, the proposed motion prediction method is performed (S140), and the frame interpolation step is performed using the predicted motion vector (S150). Equation 4 below is an equation representing a frame interpolation method to be performed in the case of a transition type.

Figure 112008008395715-pat00011
Figure 112008008395715-pat00011

여기에서, α는 0과 1 사이의 상수이고, n은 프레임의 인덱스를 의미한다.Where α is a constant between 0 and 1, and n is the index of the frame.

도 16은 본 발명에 따른 움직임 예측 기술을 수행하는 전체적인 흐름도이다.16 is an overall flowchart of a motion prediction technique according to the present invention.

도 16에 도시된 바와 같이, 본 실시 예의 움직임 예측 기술을 수행하는 단계는 이전 프레임과 현재 프레임의 동일 위치에 있는 16개의 8×8 블록의 화소 밝기 값이 입력되는 단계(S141), 입력된 화소 밝기값으로써 16개의 8×8 블록에 대한 움직임 활동도(motion activity level)가 예측되는 단계(S142), 예측된 움직임 활동도에 의하여 블록과 탐색 윈도우의 크기가 결정되는 단계(S143), 결정된 블록과 탐 색 윈도우의 크기를 이용하여 블록 정합 방법이 수행되는 단계(S144) 및 각 블록에 대한 예측된 움직임 벡터가 저장되는 단계(S145)를 포함한다.As shown in FIG. 16, the performing of the motion prediction technique according to the present embodiment may include inputting pixel brightness values of 16 8 × 8 blocks at the same position of the previous frame and the current frame (S141). In step S142, a motion activity level of sixteen 8x8 blocks is predicted as a brightness value, in which a size of a block and a search window is determined based on the predicted motion activity, in step S143. And a step of performing a block matching method using the size of the search window (S144) and storing a predicted motion vector for each block (S145).

상기 8×8 블록에 대한 움직임 활동도는 그 블록에 대한 움직임 크기를 의미한다. 블록의 움직임 활동도는 [수학식 5]에 나타낸 바와 같이 현재 프레임과 이전 프레임의 동일 위치에 있는 블록들 사이의 SAD에 의하여 예측된다. 계산된 SAD 값에 의하여 블록의 타입이 결정된다. 계산된 SAD의 값이 미리 결정된 문턱 값보다 작은 경우, 블록은 움직임이 거의 없는 정적(no-motion) 타입으로 결정되고, 그렇지 않은 경우에는 움직임이 있는 동적(motion) 타입으로 결정된다. 결정된 블록의 타입은 다음 단계에서 블록과 탐색 윈도우의 크기를 정하기 위하여 사용된다.The motion activity for the 8x8 block means the motion size for that block. The motion activity of the block is predicted by the SAD between blocks in the same position of the current frame and the previous frame, as shown in [Equation 5]. The type of the block is determined by the calculated SAD value. If the value of the calculated SAD is smaller than the predetermined threshold value, the block is determined to be a no-motion type with little motion, otherwise it is determined as a motion type with motion. The determined block type is used in the next step to size the block and the search window.

Figure 112008008395715-pat00012
Figure 112008008395715-pat00012

블록의 크기는 전 단계에서 결정된 블록 타입에 의하여 블록 클래스로 구분된다. 도 17a 내지 도 17g는 각 블록 클래스와 이에 속하는 블록의 크기 및 종류를 도시한 것이다. 예를 들어 도 17b의 (a)는 두 번째 클래스를 나타내고 도 17b의 (b)는 두 번째 클래스에 속하는 블록의 종류를 나타낸 것이다. 각 클래스에 속하는 블록의 종류에서 숫자 1은 정적(no-motion) 타입을 나타내고, 2는 동적(motion) 타입을 나타낸다. 만약 이웃하는 블록들이 정적(no-motion) 타입이라면 그 블록들은 더 큰 블록으로 병합된다. 예를 들어 4개의 8x8 블록이 모두 정적(no-motion) 타입인 경우 4개의 8x8블록은 1개의 16x16블록으로 병합된다. 본 발명에서 사용되는 블록의 크기는 8x8, 16x8, 8x16, 16x16, 32x32이다.The block size is divided into block classes according to the block type determined in the previous step. 17A to 17G illustrate each block class and the size and type of blocks belonging thereto. For example, FIG. 17B (a) shows a second class, and FIG. 17B (b) shows the types of blocks belonging to the second class. In the types of blocks belonging to each class, the number 1 represents a no-motion type, and 2 represents a motion type. If neighboring blocks are of no-motion type, they are merged into larger blocks. For example, if all four 8x8 blocks are of no-motion type, four 8x8 blocks are merged into one 16x16 block. Block sizes used in the present invention are 8x8, 16x8, 8x16, 16x16, 32x32.

도 18은 본 발명에 의하여 보간된 프레임 상에 적용된 블록의 크기를 도시한 예이다. 도 18a의 테스트 영상은 왼쪽에서 오른쪽으로 인접 프레임 간격마다 2 화소만큼 이동하는 사각형과 같은 단순한 움직임의 대상을 포함한다. 도 18b의 테스트 영상은 복잡한 움직임의 대상을 포함한다. 도 18a 및 도 18b에 도시된 바와 같이 움직임이 거의 없는 배경 영역에서는 32x32 블록이 사용되고 움직임이 있는 영역에서는 더 작은 크기의 블록이 사용된 것을 확인할 수 있다.18 shows an example of a block size applied on an interpolated frame according to the present invention. The test image of FIG. 18A includes an object of a simple movement such as a rectangle moving by 2 pixels for each adjacent frame interval from left to right. The test image of FIG. 18B includes the object of complex movement. As shown in FIGS. 18A and 18B, it can be seen that 32x32 blocks are used in the background region where there is little movement, and smaller blocks are used in the movement region.

탐색 윈도우의 크기는 이미 결정된 블록의 타입에 의해 정해진다. 상세하게는, 블록의 타입이 동적(motion) 타입인 경우 탐색 윈도우의 크기는 ±7 더 크게 하고, 블록의 타입이 정적(no-motion) 타입인 경우 탐색 윈도우의 크기는 ±2 더 작게 한다. 블록의 움직임 복잡도가 큰 경우에 더 큰 탐색 윈도우가 사용되는 반면, 블록의 움직임이 거의 없는 정적(no-motion) 타입인 경우에는 사용되는 탐색 윈도우의 크기가 상대적으로 작다. 따라서 본 발명에 의하여 블록 타입에 따라 탐색 윈도우의 크기를 다르게 사용함으로써 계산량이 감소된다.The size of the search window is determined by the type of block already determined. Specifically, the size of the search window is larger by ± 7 when the block type is a motion type, and the size of the search window is smaller by ± 2 when the block type is a no-motion type. The larger search window is used when the motion complexity of the block is large, whereas the size of the search window used is relatively small in the case of a no-motion type with little motion of the block. Therefore, according to the present invention, the amount of computation is reduced by using a different size of the search window according to the block type.

다음으로, 블록 정합 알고리즘을 이용하여 각 블록의 움직임 벡터를 예측하는 단계를 설명한다. 움직임 벡터를 예측하는 단계에서는, 이전 단계에서 결정된 블록의 크기와 탐색 윈도우의 크기를 적용하여 움직임 벡터를 예측한다.Next, a step of predicting a motion vector of each block using a block matching algorithm will be described. In the predicting the motion vector, the motion vector is predicted by applying the size of the block determined in the previous step and the size of the search window.

도 19는 블록 정합 알고리즘을 이용하여 각 블록의 움직임 벡터를 예측하는 과정을 도시화한 흐름도이다. 도 19를 참고하면, 먼저, 순방향 움직임 예측 단계를 수행한다(S210). 순방향 움직임 예측에서는 이전 프레임이 참조 프레임으로 사용된다. 사용된 정합 오차 기준은 [수학식 6]에 나타낸 바와 같이 SAD이고 움직임 벡터는 [수학식 7]을 이용하여 예측된다. [수학식 7]에 나타낸 바와 같이 움직임 벡터는 탐색 윈도우 내에 최소 정합 오차를 갖는 위치를 의미한다.19 is a flowchart illustrating a process of predicting a motion vector of each block using a block matching algorithm. Referring to FIG. 19, first, a forward motion prediction step is performed (S210). In forward motion prediction, the previous frame is used as a reference frame. The matching error criterion used is SAD as shown in [Equation 6] and the motion vector is predicted using [Equation 7]. As shown in [Equation 7], the motion vector means a position having a minimum matching error in the search window.

Figure 112008008395715-pat00013
Figure 112008008395715-pat00013

Figure 112008008395715-pat00014
Figure 112008008395715-pat00014

여기서,

Figure 112008008395715-pat00015
은 n번째 프레임 상에 있는
Figure 112008008395715-pat00016
를 중심으로 하는 블록에 대하여 예측된 움직임 벡터를 의미한다.here,
Figure 112008008395715-pat00015
Is on the nth frame
Figure 112008008395715-pat00016
Means the motion vector predicted for the block centered on.

다음으로, 탐색 윈도우에 있는 각 위치에서의 블록과 현재 처리하고자 하는 블록 사이의 SAD값인

Figure 112008008395715-pat00017
과 최소 SAD값인
Figure 112008008395715-pat00018
사이의 차이 값이 산출된다. 탐색 윈도우 상에 최소 SAD값과 유사한 SAD값을 갖는 위치 가 많은 경우, 탐색 윈도우 상의 계산된 SAD 분포에는 다수의 지역 최소값(local minimum)이 존재할 가능성이 크다. 이와 같은 문제점을 해결하기 위하여
Figure 112008008395715-pat00019
Figure 112008008395715-pat00020
의 차이 값이 미리 결정된 문턱값보다 큰 위치의 개수(블럭의 수)가 소정의 기준치 이상일 경우, 역방향 움직임 예측 단계가 수행된다(S220, S230, S240).Next, the SAD value between the block at each position in the search window and the current block
Figure 112008008395715-pat00017
And the minimum SAD value
Figure 112008008395715-pat00018
The difference value between is calculated. If there are many locations with similar SAD values on the search window, it is likely that there are multiple local minimums in the calculated SAD distribution on the search window. To solve this problem
Figure 112008008395715-pat00019
Wow
Figure 112008008395715-pat00020
If the number of positions (number of blocks) whose difference value is larger than a predetermined threshold value is greater than or equal to a predetermined reference value, backward motion prediction steps are performed (S220, S230, S240).

역방향 움직임 단계에서는 현재 프레임이 참조 프레임으로써 사용된다. 자막과 같이 한 방향으로 움직이거나 정지된 대상에 적용되는 경우, 탐색 윈도우 상의 계산된 SAD 분포에 다수의 지역 최소값이 존재하는 경우가 많다. In the backward motion phase, the current frame is used as a reference frame. When applied to an object moving or stopping in one direction such as a caption, a large number of local minimums are often present in the calculated SAD distribution on the search window.

도 20a 및 도 20b는 오른쪽에서 왼쪽으로 같은 속도의 움직임으로 이동하는 자막을 도시한 예이다. 도 20a 및 도 20b에서 사각형 테두리 안의 블록이 현재 처리하고자 하는 블록이라고 가정할 때, 순방향 움직임 예측에서는 도 20b의 사각형 테두리 안의 블록이 기준으로써 사용되고 이전 프레임 상에서 탐색이 수행된다. 그러나 도 20b의 사각형 테두리 안의 블록은 이전 프레임 상에는 없던 대상을 포함하기 때문에 이전 프레임 상에서는 처리하고자 하는 블록과 정확하게 정합되는 블록을 찾는 것이 거의 불가능하다. 따라서 역방향 움직임 예측이 수행됨으로써 처리하고자 하는 블록과 정확하게 정합되는 블록이 결정될 수 있다.20A and 20B illustrate examples of subtitles moving at the same speed from right to left. Assuming that the block in the rectangular frame in FIG. 20A and FIG. 20B is the block to be processed at present, in the forward motion prediction, the block in the rectangular frame of FIG. 20B is used as a reference and a search is performed on the previous frame. However, since the blocks in the rectangular border of FIG. 20B include objects that were not on the previous frame, it is almost impossible to find a block that exactly matches the block to be processed on the previous frame. Accordingly, by performing backward motion prediction, a block that is exactly matched with a block to be processed may be determined.

다음으로, 정지 움직임을 보정하는 단계가 수행된다(S250). 실제 움직임 벡터의 값은 (0, 0)임에도 불구하고 움직임 벡터의 값이 (0, 0)이 아닌 다른 값으로 예측되는 경우가 있다. 이와 같은 현상을 보정하기 위해 정지 움직임을 보정하는 단계를 수행한다. 이 단계에서는

Figure 112008008395715-pat00021
Figure 112008008395715-pat00022
의 차를 계산하고(S260), 그 차가 미리 결정된 문턱값보다 작은 경우 블록은 정지 영역에 위치한다고 판단하고, 움직임 벡터
Figure 112008008395715-pat00023
은 (0, 0)으로 변경한다(S270, S290).Next, the step of correcting the stop motion is performed (S250). Although the value of the actual motion vector is (0, 0), the value of the motion vector may be predicted to a value other than (0, 0). In order to correct this phenomenon, a step of correcting the stationary motion is performed. In this step
Figure 112008008395715-pat00021
and
Figure 112008008395715-pat00022
Calculates the difference of (S260), and if the difference is smaller than the predetermined threshold value, it is determined that the block is located in the still area, the motion vector
Figure 112008008395715-pat00023
Is changed to (0, 0) (S270, S290).

다음으로, 확대된 탐색 윈도우 상에서 움직임 예측이 다시 수행된다(S270, S280). 본 발명에 제시된 방법에서는 처리 속도를 향상시키기 위해 초기에 사용된 탐색 윈도우의 크기가 작다. 만약 대상의 움직임 크기가 초기에 사용된 탐색 윈도우의 크기보다 크다면 움직임 벡터를 잘못 예측할 가능성이 크다. 따라서 이와 같은 경우를 보정하기 위해 더 큰 탐색 윈도우 상에서 탐색하는 것이 필요하다. 현재 프레임 상의 처리하고자 하는 블록과 이전 프레임 상에서 예측된 블록 사이의 SAD 값이 미리 결정된 임계 값보다 큰 경우, 확대된 탐색 윈도우 상에서 탐색이 다시 수행된다. 이 단계에서는 확대된 탐색 윈도우 상에서 이미 탐색된 영역을 제외한 나머지 영역에 대하여 탐색이 수행되기 때문에 실행 시간이 오래 소요되지 않는다.Next, motion prediction is performed again on the enlarged search window (S270 and S280). In the method presented in the present invention, the size of the search window initially used to improve the processing speed is small. If the motion size of the object is larger than the size of the initially used search window, the motion vector is likely to be incorrectly predicted. Thus, it is necessary to search on a larger search window to correct this case. If the SAD value between the block to be processed on the current frame and the block predicted on the previous frame is larger than a predetermined threshold value, the search is performed again on the enlarged search window. In this step, since a search is performed on a region other than the region already searched on the enlarged search window, the execution time is not long.

상기 언급한 바와 같이, 본 발명에서 제시한 움직임 예측 방법은 대상의 속도에 대해 적합한 크기의 블록과 탐색 윈도우를 사용하는 것을 특징으로 한다. 또한 본 발명은 휴대폰을 대상으로 개발되었기 때문에 필요한 하드웨어 복잡도를 최소화해야 한다. 본 발명은 각 컬러 채널 당 1개의 프레임 메모리만을 필요로 하는 동시에 본 발명에 의한 결과 영상은 종래 기술의 것보다 더 향상된 화질을 갖는다는 특징을 갖는다.As mentioned above, the motion prediction method proposed by the present invention is characterized by using a block and a search window of a size suitable for the speed of the target. In addition, since the present invention has been developed for mobile phones, it is necessary to minimize the required hardware complexity. The present invention requires only one frame memory for each color channel while the resulting image according to the present invention has a further improved picture quality than that of the prior art.

다음으로, 상기 움직임 예측 기술에 의하여 산출된 움직임 벡터를 이용하여 이전 프레임과 현재 프레임 사이에 새로운 프레임을 보간하는 단계가 수행된다. 보간된 프레임이 시간적으로 인접한 프레임들의 중간에 위치하는 경우, [수학식 8]에 의하여 이전 프레임과 현재 프레임 사이에 새로운 프레임이 생성된다. 만약 보간된 프레임의 화소 값이[수학식 8]에 의하여 계산되지 않는 경우, 새로운 프레임의 화소 값은[수학식 9]에 의하여 계산된다.Next, a step of interpolating a new frame between a previous frame and a current frame using a motion vector calculated by the motion prediction technique is performed. When the interpolated frame is located in the middle of temporally adjacent frames, a new frame is generated between the previous frame and the current frame by Equation (8). If the pixel value of the interpolated frame is not calculated by Equation 8, the pixel value of the new frame is calculated by Equation 9.

Figure 112008008395715-pat00024
Figure 112008008395715-pat00024

여기서,

Figure 112008008395715-pat00025
는 최종적으로 계산된 움직임 벡터를 의미하고,
Figure 112008008395715-pat00026
는 생성된 새로운 프레임을 의미한다.here,
Figure 112008008395715-pat00025
Means the finally calculated motion vector,
Figure 112008008395715-pat00026
Means new frame generated.

Figure 112008008395715-pat00027
Figure 112008008395715-pat00027

본 발명의 실시예의 성능을 검증하기 위하여 실험 비디오 시퀀스의 짝수 번째 프레임으로부터 본 발명의 실시예에 따라 홀수 번째 프레임을 생성한다. 종래 기술은 고정된 크기의 블록과 탐색 영역을 사용하는 전역 탐색(FS)과 고속 움직임 예측 방법인 삼단계 탐색(TSS)을 사용하였고, 프레임 보간 방법은 [수학식 8]과 [수학식 9]에 의하여 수행된다. 종래 기술에 대한 실험에 사용된 블록의 크기는 8×8이고, 탐색 영역은 x와 y 방향으로 최대 6 화소이다. 종래 기술과 본 발명의 실시예의 성능을 비교하기 위하여 [수학식 10]에 의하여 PSNR(peak signal to noise ratio)이 계산된다.In order to verify the performance of the embodiment of the present invention, odd-numbered frames are generated from the even-numbered frames of the experimental video sequence according to the embodiment of the present invention. The prior art uses a global search (FS) using a fixed size block and a search region and a three-step search (TSS), which is a fast motion prediction method, and frame interpolation methods are represented by Equations 8 and 9 Is performed by. The size of the blocks used in the experiments of the prior art is 8x8, and the search area is up to 6 pixels in the x and y directions. In order to compare the performance of the prior art and the embodiment of the present invention, PSNR (peak signal to noise ratio) is calculated by Equation 10.

Figure 112008008395715-pat00028
Figure 112008008395715-pat00028

여기서,

Figure 112008008395715-pat00029
은 원본 홀수 번째 프레임을 나타내고,
Figure 112008008395715-pat00030
은 프레임 레이트 변환 기술에 의하여 생성된 홀수 번째 프레임을 나타낸다. X는 프레임의 전체 화소 개수를 나타낸다.here,
Figure 112008008395715-pat00029
Represents the original odd-numbered frame,
Figure 112008008395715-pat00030
Represents an odd-numbered frame generated by the frame rate conversion technique. X represents the total number of pixels in the frame.

도 21a 내지 도 21c는 종래 기술에 따라 생성된 프레임에 대한 PSNR과 본 발 명의 실시예에 따라 생성된 프레임에 대한 PSNR을 비교하여 나타낸 도면이다. 도 21a에 사용된 실험 비디오 시퀀스인 홀 모니터(Hall monitor)는 세밀한 영역을 적게 포함하고, 대상의 움직임이 크지 않다. 도 21b에 사용된 실험 비디오 시퀀스인 풋볼(Football)은 세밀한 영역을 많이 포함하고, 대상의 움직임이 빠르다. 도 21c에 사용된 실험 비디오 시퀀스인 노동자(Foreman)는 홀 모니터(Hall monitor)와 풋볼(Football)의 중간 특성을 갖는다. 실험 비디오 시퀀스는 100프레임으로 구성되고, 각 프레임의 크기는 352×288이다. 도 21에 도시된 바와 같이 본 발명의 실시예에 따라 생성된 결과의 성능이 종래 기술에 의한 결과보다 더 좋은 것을 확인할 수 있다.21A to 21C are diagrams showing the PSNRs for a frame generated according to the prior art and the PSNR for a frame generated according to an embodiment of the present invention. The Hall monitor, an experimental video sequence used in FIG. 21A, contains less detail and does not have a large movement of the object. Football, an experimental video sequence used in FIG. 21B, contains a lot of fine areas and has a fast movement of an object. Foreman, the experimental video sequence used in FIG. 21C, has the intermediate characteristics of a Hall monitor and a football. The experimental video sequence consists of 100 frames and each frame is 352 × 288. As shown in FIG. 21, it can be seen that the performance of the result generated according to the embodiment of the present invention is better than the result according to the prior art.

도 22a, 도 23a는 종래 기술인 전역 탐색에 따라 생성된 프레임의 예를 나타낸 것이고, 도 22b, 도 23b는 종래 기술인 삼단계 탐색에 따라 생성된 프레임의 예를 나타낸 것이다. 그리고 도 22c, 도 23c는 본 발명의 실시예에 따라 생성된 프레임의 예를 나타낸 것이다. 도 22a 내지 도 22c의 실험 비디오 시퀀스는 노동자(Foreman)이고 도 23a 내지 도 23c의 실험 비디오 시퀀스는 풋볼(Football)이다.22A and 23A illustrate examples of frames generated by the prior art global search, and FIGS. 22B and 23B illustrate examples of frames generated by the conventional three-step search. 22C and 23C show examples of frames generated according to an embodiment of the present invention. The experimental video sequence of FIGS. 22A-22C is foreman and the experimental video sequence of FIGS. 23A-23C is football.

이상과 같이 본 발명에 의한 프레임 레이트 변환 방법을 예시된 도면을 참조로 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않고, 기술사상이 보호되는 범위 이내에서 응용될 수 있다. As described above, the frame rate conversion method according to the present invention has been described with reference to the illustrated drawings, but the present invention is not limited by the embodiments and drawings disclosed herein, and may be applied within the scope of the technical idea. .

도 1은 프레임 레이트 변환 기술의 프레임 변환 기술을 적용함으로써 낮은 프레임 레이트의 입력 동영상을 높은 프레임 레이트의 출력 동영상으로 변환하는 일례를 도시한 도면이며,1 is a diagram showing an example of converting a low frame rate input video into a high frame rate output video by applying a frame conversion technology of a frame rate conversion technology.

도 2는 종래의 프레임 반복 방법에 의하여 생성된 움직이는 대상의 위치를 도시한 예를 나타낸 도면이며,2 is a diagram illustrating an example of a position of a moving object generated by a conventional frame repetition method.

도 3은 종래의 프레임 평균 방법에 의하여 생성된 움직이는 대상의 위치를 도시한 예를 나타낸 도면이며,3 is a diagram illustrating an example of a position of a moving object generated by a conventional frame averaging method.

도 4는 이웃하는 프레임의 움직임 보상 평균에 의하여 보간된 출력 프레임을 도시한 예를 나타낸 도면이며,4 is a diagram illustrating an example of an output frame interpolated by a motion compensation average of neighboring frames.

도 5는 참조 프레임의 탐색 영역 내에서 X×Y크기의 블록에 대한 움직임 벡터를 예측하는 과정을 도시한 예를 나타낸 도면이며,5 is a diagram illustrating an example of a process of predicting a motion vector for a block of size X × Y in a search region of a reference frame.

도 6은 종래의 서브 샘플링 방법을 설명하기 위하여 각 화소에 'a', 'b', 'c', 'd'로 표시된 8×8 블록을 나타낸 도면이며,FIG. 6 is a diagram illustrating 8 × 8 blocks labeled with “a”, “b”, “c”, and “d” in each pixel to explain a conventional subsampling method.

도 7a 및 도 7b는 탐색 영역 상에서 네 개의 서브 샘플링 패턴의 사용 순서를 도시한 도면이며,7A and 7B are diagrams illustrating an order of use of four sub-sampling patterns on a search area.

도 8은 현재 프레임 상의 블록을 나타낸 것으로 sub-sampled motion field 방법을 설명하기 위한 도면이며,8 is a diagram illustrating a sub-sampled motion field method as a block on a current frame.

도 9는 현재 프레임에서 각 블록이 N/2×N/2 크기를 갖는 4개의 서브 블록으로 나눠진 것을 나타낸 도면이며,9 is a diagram showing that each block is divided into four sub-blocks having a size of N / 2 × N / 2 in the current frame.

도 10a 내지 도 10c는 삼 단계 탐색을 수행하는 과정을 설명하기 위한 도면이며,10A to 10C are diagrams for describing a process of performing a three step search.

도 11은 탐색 영역 내의 정합 오차를 나타낸 오차 표면(error surface)을 도시한 도면이며,11 is a diagram showing an error surface showing a matching error in a search area,

도 12a 내지 도 12c는 2차원 로가리듬 탐색을 수행하는 과정을 설명하기 위한 도면이며,12A to 12C are diagrams for describing a process of performing a 2D logical rhythm search,

도 13a 및 도 13b는 다이아몬드 탐색에서 사용되는 두 가지 탐색 패턴을 도시한 도면이며,13A and 13B illustrate two search patterns used in diamond search.

도 14는 다이아몬드 탐색을 수행하는 과정의 예를 도시한 도면이며,14 is a diagram illustrating an example of a process of performing a diamond search.

도 15는 본 발명에 따른 프레임 레이트 변환 기술을 수행하는 전체적인 흐름도이며,15 is an overall flowchart for performing a frame rate conversion technique according to the present invention;

도 16은 본 발명에 따른 움직임 예측 기술을 수행하는 전체적인 흐름도이며,16 is an overall flowchart of a motion prediction technique according to the present invention;

도 17a 내지 도 17g는 각 블록 클래스와 이에 속하는 블록의 크기를 도시한 도면이며,17A to 17G are diagrams illustrating each block class and the size of blocks belonging thereto.

도 18a 및 도 18b는 본 발명에 의하여 보간된 프레임 상에 적용된 블록의 크기를 도시한 도면이며,18A and 18B illustrate sizes of blocks applied on interpolated frames according to the present invention.

도 19는 블록 정합 알고리즘을 이용하여 각 블록의 움직임 벡터를 예측하는 과정을 도시화한 흐름도이며,19 is a flowchart illustrating a process of predicting a motion vector of each block using a block matching algorithm.

도 20a 및 도20b는 오른쪽에서 왼쪽으로 같은 속도의 움직임으로 이동하는 자막의 예를 도시한 도면이며,20A and 20B are diagrams showing examples of subtitles moving at the same speed movement from right to left.

도 21a 내지 21c는 종래 기술에 따라 생성된 프레임에 대한 PSNR과 본 발명의 실시예에 따라 생성된 프레임에 대한 PSNR을 비교하여 나타낸 도면이며,21a to 21c are diagrams showing the PSNR of a frame generated according to the prior art and the PSNR of a frame generated according to an embodiment of the present invention.

도 22a 및 도 23a는 종래 기술인 전역 탐색에 따라 생성된 프레임의 예를 도시한 도면이며,22A and 23A illustrate an example of a frame generated according to a prior art global search,

도 22b, 도 23b는 종래 기술인 삼단계 탐색에 따라 생성된 프레임의 예를 도시한 도면이며,22B and 23B illustrate an example of a frame generated according to a conventional three-stage search.

도 22c, 도 23c는 본 발명의 실시예에 따라 생성된 프레임의 예를 도시한 도면이다.22C and 23C illustrate examples of frames generated according to an embodiment of the present invention.

Claims (11)

낮은 프레임 레이트의 동영상을 그 프레임 레이트를 증가시켜 보다 높은 프레임 레이트의 동영상으로 변환하는 프레임 레이트 변환 방법에 있어서,In a frame rate conversion method of converting a low frame rate video into a higher frame rate video by increasing its frame rate, 대상의 속도나 크기에 따라 다른 크기의 블록과 탐색 윈도우를 사용해서 움직임 벡터를 예측하는 제 1 단계; 및A first step of predicting a motion vector using blocks and search windows of different sizes according to the speed or size of the object; And 상기 예측된 움직임 벡터를 이용해서 낮은 프레임 레이트의 동영상을 높은 프레임 레이트의 동영상으로 변환하는 제 2 단계를 포함하고,A second step of converting a low frame rate video into a high frame rate video using the predicted motion vector, 상기 제 1 단계는, 이전 프레임과 현재 프레임의 동일 위치에 있는 제 1 크기의 블록에 대한 움직임 활동도를 예측하는 제 1 과정;The first step may include a first step of predicting a motion activity of a block of a first size at the same position of a previous frame and a current frame; 상기 예측된 움직임 활동도를 이용하여 대상의 크기와 속도에 대응되는 소정의 블록 및 탐색 윈도우의 크기를 결정하는 제 2 과정; 및A second process of determining a size of a predetermined block and a search window corresponding to a size and a speed of an object by using the predicted movement activity; And 블록 정합 알고리즘을 이용하여 각 블록의 움직임 벡터를 예측하는 제 3 과정을 포함하며,A third process of predicting a motion vector of each block by using a block matching algorithm; 상기 제 3 과정은, 이전 프레임의 탐색 윈도우 내에서 현재 프레임의 블록과 최소 정합 오차를 가지는 위치를 찾아 움직임 벡터를 결정하는 순방향 움직임 예측 과정;The third process may include: a forward motion prediction process of determining a motion vector by finding a location having a minimum matching error with a block of a current frame within a search window of a previous frame; 상기 이전 프레임의 탐색 윈도우 내의 각 위치에서의 SAD값과 최소 SAD값과의 차이값이 제 1문턱값보다 작은 위치의 갯수가 제 2문턱값 이상인 경우, 현재 프레임의 탐색 윈도우 내에서 이전 프레임의 블록과 최소 정합 오차를 가지는 위치를 찾아 움직임 벡터를 결정하는 역방향 움직임 예측 과정;If the difference between the SAD value and the minimum SAD value at each position in the search window of the previous frame is less than the first threshold value, the block of the previous frame within the search window of the current frame. A backward motion prediction process of determining a motion vector by finding a location having a minimum match error with the sigma; 정지 움직임을 보정하는 보정 과정;A correction process for correcting the static motion; 현재 프레임 상의 처리하고자 하는 블록과 이전 프레임 상에서 예측된 블록 사이의 최소 정합 오차가 제 3문턱값보다 작은 경우, 확장된 탐색 윈도우 상에서 움직임 예측을 다시 수행하는 재수행 과정을 포함하는 프레임 레이트 변환 방법. If the minimum matching error between the block to be processed on the current frame and the block predicted on the previous frame is less than the third threshold value, the frame rate conversion method comprising the step of performing the motion prediction again on the extended search window. 삭제delete 청구항 1에 있어서,The method according to claim 1, 상기 제 1 크기는 8 × 8 인 것을 특징으로 하는 프레임 레이트 변환 방법.And the first size is 8x8. 청구항 1에 있어서,The method according to claim 1, 상기 제 1 과정에서 움직임 활동도는 이전 프레임과 현재 프레임의 동일 위치에 있는 단위 블록들에 대한 SAD(summed absolute difference)의 계산으로 산출되는 것을 특징으로 하는 프레임 레이트 변환 방법.The method of claim 1, wherein the motion activity is calculated by calculating a summed absolute difference (SAD) for unit blocks located at the same position of the previous frame and the current frame. 청구항 4에 있어서,The method according to claim 4, 상기 제 2 과정은 상기 SAD 값에 따라 블록이 정적 타입인지 동적 타입인지 결정하는 타입 결정 과정;The second process may include a type determination process of determining whether a block is a static type or a dynamic type according to the SAD value; 2 개의 이웃하는 동일 크기의 정적 타입 블록을 병합하여 블록의 크기를 확장하는 블록 병합 과정; 및A block merging process of merging two neighboring identically sized static type blocks to expand a block size; And 블록의 타입에 따라 탐색 윈도우의 크기를 다르게 결정하는 탐색 윈도우 크기 결정 과정을 포함하는 프레임 레이트 변환 방법.A frame rate conversion method comprising determining a size of a search window according to a type of a block. 청구항 5에 있어서,The method according to claim 5, 상기 타입 결정 과정은 상기 SAD 값이 미리 결정된 문턱값보다 작은 경우 정적 타입으로 결정하고, 상기 제 1 문턱값과 같거나 큰 경우에는 동적 타입으로 결정하는 것을 특징으로 하는 프레임 레이트 변환 방법.The type determining process is determined as a static type when the SAD value is smaller than a predetermined threshold value, and a dynamic type when the SAD value is equal to or larger than the first threshold value. 청구항 5에 있어서,The method according to claim 5, 상기 제 2 과정은 병합된 블록 간에 대해서도 제 2 크기의 블록이 될 때까지 상기 블록 병합 과정을 반복하는 것을 특징으로 하는 프레임 레이트 변환 방법.And the second process repeats the block merging process even between merged blocks until a block of a second size. 청구항 7에 있어서,The method of claim 7, 상기 제 2 크기는 32 × 32 인 것을 특징으로 하는 프레임 레이트 변환 방법.And the second size is 32 × 32. 청구항 5에 있어서,The method according to claim 5, 상기 탐색 윈도우 크기 결정 과정은 해당 블록이 정적 타입인 경우, 동적 타입인 경우보다 상대적으로 작은 크기의 탐색 윈도우를 사용하는 것을 특징으로 하는 프레임 레이트 변환 방법.The search window size determining process is characterized in that, when the corresponding block is a static type, a search window having a smaller size than that of the dynamic type is used. 삭제delete 청구항 1에 있어서,The method according to claim 1, 상기 재수행 과정은 이미 탐색된 영역을 제외한 나머지 영역에 대하여 탐색이 수행되는 것을 특징으로 하는 프레임 레이트 변환 방법.The re-run process is a frame rate conversion method, characterized in that the search is performed for the remaining area except the already searched area.
KR1020080010400A 2008-01-31 2008-01-31 Frame rate conversion method KR100969420B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080010400A KR100969420B1 (en) 2008-01-31 2008-01-31 Frame rate conversion method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080010400A KR100969420B1 (en) 2008-01-31 2008-01-31 Frame rate conversion method

Publications (2)

Publication Number Publication Date
KR20090084311A KR20090084311A (en) 2009-08-05
KR100969420B1 true KR100969420B1 (en) 2010-07-14

Family

ID=41204879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080010400A KR100969420B1 (en) 2008-01-31 2008-01-31 Frame rate conversion method

Country Status (1)

Country Link
KR (1) KR100969420B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015108300A1 (en) * 2014-01-17 2015-07-23 삼성전자주식회사 Frame rate control method and electronic device thereof
KR20160145499A (en) * 2015-06-10 2016-12-20 한양대학교 산학협력단 Method for frame rate up-conversion considering the direction and magnitude of motion vectors and apparatus using the same

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101458099B1 (en) * 2013-04-24 2014-11-05 전자부품연구원 Image Stabilization Method and Image Processing Apparatus usign the smae
WO2018128232A1 (en) * 2017-01-03 2018-07-12 엘지전자 주식회사 Image decoding method and apparatus in image coding system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Byeong-Doo Choi; Jong-Woo Han; Chang-Su Kim; Sung-Jea Ko, "Motion-Compensated Frame Interpolation Using Bilateral Motion Estimation and Adaptive Overlapped Block Motion Compensation", IEEE, APRIL 2007
Fujiwara, S. Taguchi, A. , "Motion-compensated frame rate up-conversion based on block matching algorithm with multi-size blocks", 13-16 December 2005 (Hong Kong)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015108300A1 (en) * 2014-01-17 2015-07-23 삼성전자주식회사 Frame rate control method and electronic device thereof
US10373545B2 (en) 2014-01-17 2019-08-06 Samsung Electronics Co., Ltd. Frame rate control method and electronic device thereof
KR20160145499A (en) * 2015-06-10 2016-12-20 한양대학교 산학협력단 Method for frame rate up-conversion considering the direction and magnitude of motion vectors and apparatus using the same
KR101709894B1 (en) 2015-06-10 2017-02-23 한양대학교 산학협력단 Method for frame rate up-conversion considering the direction and magnitude of motion vectors and apparatus using the same

Also Published As

Publication number Publication date
KR20090084311A (en) 2009-08-05

Similar Documents

Publication Publication Date Title
KR100870278B1 (en) Apparatus for creating interpolation frame
US8315436B2 (en) Robust camera pan vector estimation using iterative center of mass
JP4997281B2 (en) Method for determining estimated motion vector in image, computer program, and display device
KR101217627B1 (en) Method and apparatus for estimating motion vector based on block
CN106254885B (en) Data processing system, method of performing motion estimation
KR20090006068A (en) Method and apparatus for modifying a moving image sequence
JP2004530367A (en) Motion vector prediction method and motion vector prediction device
KR100692600B1 (en) Apparatus and method for estimating motion
US20050180506A1 (en) Unit for and method of estimating a current motion vector
KR20130023644A (en) Method and apparatus for image frame interpolation
KR20040105866A (en) Motion estimation unit and method of estimating a motion vector
KR100969420B1 (en) Frame rate conversion method
US20060098886A1 (en) Efficient predictive image parameter estimation
US20080144716A1 (en) Method For Motion Vector Determination
WO2012066866A1 (en) Motion vector detection device, motion vector detection method, frame interpolation device, and frame interpolation method
JP2006521740A (en) Motion vector determination method
KR20050081730A (en) Method for converting frame rate of video signal based on the motion compensation
JPH08242454A (en) Method for detecting global motion parameter
JP2007503656A (en) Edge direction estimation
Blume et al. Segmentation in the loop: an iterative object-based algorithm for motion estimation
KR101548269B1 (en) Apparatus and method for estimating motion by block segmentation and combination
KR101781560B1 (en) Apparatus and method for sampled profile based motion estimation
KR20090084312A (en) Reliability evaluation and compensation method of motion vector
KR100413002B1 (en) Apparatus and method for block matching by using dispersed accumulate array in video coder
JP2006529039A (en) Edge direction estimation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee