KR100969420B1 - 프레임 레이트 변환 방법 - Google Patents

프레임 레이트 변환 방법 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
English (en)
Other versions
KR20090084311A (ko
Inventor
김춘우
장슬기
김유훈
이종옥
Original Assignee
삼성전기주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전기주식회사 filed Critical 삼성전기주식회사
Priority to KR1020080010400A priority Critical patent/KR100969420B1/ko
Publication of KR20090084311A publication Critical patent/KR20090084311A/ko
Application granted granted Critical
Publication of KR100969420B1 publication Critical patent/KR100969420B1/ko

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

본 발명은 낮은 프레임 레이트의 동영상을 그 프레임 레이트를 증가시켜 높은 프레임 레이트의 동영상으로 변환하는 프레임 레이트 변환 방법에 관한 것이다. 본 발명에 따른 프레임 레이트 변환 방법은, 이전 프레임과 현재 프레임에 대한 움직임 정보를 예측하는 단계와 예측된 움직임 정보를 적용하여 이전 프레임과 현재 프레임의 중간에 위치하는 새로운 프레임을 생성하는 단계를 포함한다. 이에 의하여, 높은 프레임 레이트의 동영상을 디스플레이 함에 있어서 화상 품질의 열화를 방지할 수 있으므로, 보다 향상된 화질 품질을 갖는 동영상을 보는 것이 가능하다.
프레임 레이트, 변환, 움직임 벡터, 탐색 윈도우, 블록

Description

프레임 레이트 변환 방법{FRAME RATE CONVERSION METHOD}
본 발명은 프레임 레이트 변환 방법에 관한 것으로, 더욱 상세하게는 낮은 프레임 레이트의 동영상을 높은 프레임 레이트의 동영상으로 변환하는 프레임 레이트 변환 방법에 관한 것이다.
휴대폰 프로젝션 디스플레이와 같은 영상 출력 장치에서 소비자의 구매 결정에 영향을 미치는 요인으로는 가격, 크기, 디자인, 수명, 소모전력 및 화질 등을 들 수 있다. 이와 같은 요소들 중에서 화질은 경쟁 상품 또는 후발 기업의 상품들과 차별화 할 수 있는 주요한 요인들 중의 하나이다. 차별화 대상인 화질을 결정하는 요소들 중의 하나로서 컬러 영상 신호 처리 기술을 들 수 있으며 최근 들어 그 중요성이 강조되고 있다. 이와 같은 측면에서 개발 대상인 휴대폰 프로젝션 디스플레이에 대해서도 화질 향상을 위한 컬러 영상 신호 처리 기술은 매우 중요한 요소 기술들 중의 하나라고 판단된다.
컬러 영상 처리 기술 중에서 휴대폰 프로젝션 디스플레이의 화질을 개선하기 위하여 적용될 수 있는 기술에는 프레임 변환 기술이 있다. 프레임 변환 기술은 낮은 프레임 레이트의 입력 동영상을 높은 프레임 레이트의 출력 동영상으로 변환 시, 특정 아티팩트 없이 입력 동영상의 프레임 레이트를 증가시키는 기술을 의미한다. 도 1은 프레임 레이트 변환 기술의 프레임 변환 기술을 적용함으로써 낮은 프레임 레이트의 입력 동영상을 높은 프레임 레이트의 출력 동영상으로 변환하는 일례를 나타낸 것이다. 예를 들어 30 프레임/초의 DMB 영상이 휴대폰 프로젝션 디스플레이의 입력으로 사용되는 경우, 모션 져더(motion judder), 모션 블러링(motion blurring) 등의 문제점이 발생한다. 이와 같은 문제점을 해결하기 위하여 30 프레임/초를 60 프레임/초 또는 그 이상의 프레임 수를 갖도록 변환하는 기술이 필요하게 된다.
프레임 레이트 변환에 대한 종래의 기술들은 대상의 움직임 정보를 사용하는 지의 여부에 따라 크게 두 가지 범주로 나눌 수 있다. 대상의 움직임 정보를 사용하지 않는 방법에는 프레임 반복과 프레임 평균이 있고, 움직임 정보를 사용하는 방법에는 움직임 보상 보간(motion compensated interpolation)이 있다.
도 2는 종래의 프레임 반복 방법에 의하여 생성된 움직이는 대상의 위치를 도시한 예이다. 만약 관찰자가 대상의 움직임을 따라가면서 보고 있다면 관찰자가 예상한 위치는 프레임 반복에 의하여 보여지는 대상의 위치와 다를 것이다. 도 2의 네 번째 프레임 위치에 관찰자로부터 예상된 대상의 위치가 표시되어 있다. 프레임 반복 방법은 움직임이 없는 영역에서는 좋은 성능을 보이지만 움직임이 없는 영역에서는 모션 져더와 같은 문제점이 발생되고 이것은 영상 화질에 대한 큰 열화를 발생시킨다.
도 3은 종래의 프레임 평균 방법에 의하여 생성된 움직이는 대상의 위치를 도시한 예이다. 프레임 평균은 보간된 출력 프레임을 얻기 위하여 두 개의 이웃하는 프레임들을 평균하는 방법이다. 이 방법은 프레임 반복 방법과 마찬가지로 움직임이 없는 영역에서는 좋은 성능을 보인다. 그러나 움직임이 있는 영역에서는 프레임 반복 방법에 의한 결과보다 모션 블러링이 더 심하게 발생한다.
이상과 같은 종래의 방법에서는 움직임 정보가 사용되지 않기 때문에 프레임의 움직이는 영역에서는 모션 져더, 모션 블러링과 같은 아티팩트가 발생한다. 이와 같은 문제점을 해결하고 정확한 위치에 움직이는 대상을 위치시키기 위하여 움직임 보상 보간 방법이 개발되고 있다. 움직임 보상 보간 방법은 움직임 벡터를 예측하는 단계와 예측된 움직임 벡터를 이용하여 프레임을 보간하는 단계를 포함한다. 도 4는 이웃하는 프레임의 움직임 보상 평균에 의하여 보간된 출력 프레임을 도시한 예이다. 움직임 벡터가 정확하게 예측된 경우, 움직이는 영역에서 모션 블러링과 같은 아티팩트는 발생되지 않는다. 하지만 움직임 벡터를 정확하게 예측하는 기술은 구현하기 어렵다. 예측된 움직임 벡터가 부정확한 경우, 움직이는 영역에서 모션 블러링, 블록 아티팩트 등의 문제점이 발생된다. 또한 예측된 움직임 벡터에 대한 정확성의 정도는 대상의 속도나 크기에 따라 다르기 때문에 프레임 반복에 의해 발생하는 모션 블러링보다 더 심한 화질 열화가 발생될 수 있다.
종래의 움직임 벡터를 예측하는 방법에는 화소 단위로 움직임을 예측하는 화소 재귀적 알고리즘과 블록 단위로 동일한 움직임을 갖는다는 가정 하에서 움직임 정보를 예측하는 블록 정합 알고리즘이 있다. 현재 많은 비디오 코딩에서는 데이터 흐름의 규칙성, 계산의 복잡도, 하드웨어 구현을 고려하여 블록 정합 알고리즘이 널리 사용되고 있다. 도 5는 참조 프레임의 탐색 영역 내에서 X*Y크기의 블록에 대한 움직임 벡터를 예측하는 과정을 도시한 예이다. 블록 정합 알고리즘은 블록 단위로 탐색 윈도우(search window) 내에서 최소의 정합 오차를 갖는 블록을 찾고 이 블록의 가로, 세로 변위를 추정하는 알고리즘이다. 블록 정합 알고리즘은 동영상의 한 프레임을 여러 개의 블록으로 나누고 이들의 각 블록에 대하여 참조 프레임(Reference frame)의 탐색 윈도우 내에서 정합 오차가 가장 작은 블록을 찾는다. 이 때 처리하고자 하는 블록과 참조 프레임 내에서 가장 정합이 잘 되는 블록 간의 위치 차이를 움직임 벡터라고 한다.
정합 오차를 계산하기 위하여 사용되는 코스트(Cost) 함수 중에서 널리 사용되는 것에는 summed absolute difference (SAD), summed square error (SSE), 그리고 normalize cross correlation function (NCCF)이 있다. SAD는 [수학식 1]을 이용하여 계산된다.
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는 자연수이다.
SSE와 NCCF는 각각 [수학식 2]와 [수학식 3]에 의하여 계산된다.
Figure 112008008395715-pat00009
Figure 112008008395715-pat00010
SAD는 구현하기에 가장 간단하다. SSE는 제곱 연산을 하기 때문에 오차 값의 범위를 표현하는 데 많은 비트 수가 필요하다. 그래서 SSE 계산에는 SAD의 경우보다 더 많은 하드웨어 량이 요구된다. NCCF는 곱셈과 나눗셈 연산을 수행하기 때문에 복잡한 하드웨어가 요구된다. 그러므로 SAD가 실 시간 처리에 널리 사용된다.
종래의 움직임 벡터를 탐색하는 방법에는 전역 탐색(full search), 서브 샘플링 탐색, 삼 단계 탐색, 2차원 로가리듬(logarithm) 탐색, 다이아몬드 탐색 등 여러 가지 방법이 있다. 이하, 첨부된 도면을 참조하여 종래의 탐색 방법에 관하여 상세히 설명한다.
전역 탐색은 가장 간단한 블록 정합 방법이다. 전역 탐색에서는 탐색 범위 내의 가능한 모든 후보 움직임 벡터에 대하여 정합 오차를 계산한 후에 움직임 벡터를 예측한다. 이 방법은 모든 후보 움직임 벡터에 대하여 정합 오차를 계산하기 때문에 계산 량이 많다. 따라서 전역 탐색은 실시간 비디오 코딩 응용 분야 및 소프트웨어 구현에 사용되기 어렵다. 이와 같은 문제점을 해결하기 위하여 여러 가지 고속 블록 정합 방법들이 개발되고 있다.
서브 샘플링 탐색은 정합 오차의 계산에 사용되는 화소의 수를 줄임으로써 계산 량을 감소시킨다. 대표적인 방법으로는 alternating 4:1 pixel sub-sampling, sub-sampled motion field estimation, 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를 모두 사용한다.
도 7a 및 도 7b는 탐색 영역 상에서 네 개의 서브 샘플링 패턴의 사용 순서를 나타낸 도면이다. 각 화소는 ‘1’, ‘2’, ‘3’, ‘4’로 표시되어 있다. 후보 블록의 첫 번째 화소(블록의 upper-left 위치)가 1로 표시된 경우 정합 오차 계산에는 패턴 A의 화소들만 사용된다. 도 7a의 경우 패턴 A에 대한 정합 오차를 계산한 후에 한 화소 오른쪽에 위치한 후보 블록에 대한 정합 오차를 계산할 때에는 패턴 D가 사용된다. 처리하고자 하는 블록마다 각 패턴 A, B, C, D에 대한 최소 정합 오차를 갖는 네 개의 후보 블록이 선택될 것이다. 모든 화소들을 사용해서 처리하고자 하는 블록과 네 개의 후보 블록과의 정합 오차를 구한 다음 그 중에서 최소 정합 오차를 갖는 블록의 위치가 최종적인 움직임 벡터의 좌표로 선택된다. 네 개의 서브 샘플링 패턴의 사용 순서에 의해 처리하게 되면 이전 프레임의 탐색 영역 내의 모든 화소들을 사용하게 된다.
Sub-sampled motion field 방법에서는 비디오 시퀀스의 움직임이 대부분 부드럽고 천천히 변한다는 특성을 이용한다. 따라서 이웃하는 블록들의 움직임 벡터는 거의 유사하다. 처리하고자 하는 블록과 이웃하는 블록들에 대한 움직임 벡터가 서로 유사하다는 가정 하에 먼저 현재프레임에 있는 블록의 반에 대한 움직임 벡터를 예측한다.
도 8은 현재 프레임 상의 블록을 나타낸 것으로 sub-sampled motion field 방법을 설명하기 위한 도면이다. 도 8에서 가운데 블록 A와 인접한 어두운 블록에 대한 네 개의 움직임 벡터를 찾고, 이 중에서 블록 A와 최소 정합 오차를 갖는 움직임 벡터가 블록 A의 움직임 벡터로 선택된다. 블록 A의 움직임이 이웃하는 블록 의 움직임의 방향 및 크기와 거의 같은 경우 이 방법은 성공적으로 움직임 벡터를 예측할 수 있을 것이다. 그러나 블록 A가 다른 방향으로 움직이는 두 대상을 포함하는 경우 sub-sampled motion field 방법에 의해 예측된 블록 A의 움직임에 대한 정확한 움직임 벡터를 예측하기 어렵다.
블록 정합 방법에서 사용되는 블록의 크기가 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 방법은 더 작은 크기의 블록을 사용하기 때문에 움직임이 거의 없는 영역에서 움직임 벡터를 잘못 예측할 가능성이 있다. 이 범주에 속하는 기법들은 일정한 규칙에 의해 제한된 화소들만 정합 오차 계산에 사용되기 때문에 하드웨어적으로 사용되는 메모리의 양이 줄어든다.
삼 단계 탐색은 넓은 영역에 걸쳐 몇 개의 탐색 점을 조사한 후 점차 범위를 좁혀 나가는 방식으로 간단함과 효율성 때문에 비디오 압축에 널리 사용된다. 도 10a 내지 도 10c는 삼 단계 탐색을 수행하는 과정을 설명하기 위한 도면이다. 탐색 윈도우가 7일 때, 삼 단계 탐색의 첫 번째 단계에서는 도 10a에 도시된 바와 같이 7×7 격자(grid)상에 균등하게 할당된 9개의 탐색 점을 이용해서 최소 정합 오차를 갖는 점을 찾는다. 다음 단계에서는 도 10b에 도시된 바와 같이 이전 단계에서 찾은 최소 정합 오차의 탐색 점을 중심으로 8개의 탐색 점을 추가한다. 이때 두 탐색 점 사이의 거리는 이전 단계의 것보다 반으로 감소된다. 다음 단계에서는 도 10c에 도시된 바와 같이 탐색 점 사이의 거리가 1이 될 때까지 현 단계의 탐색 점 사이의 거리를 반으로 감소시키면서 최소 정합 오차를 갖는 점을 찾는다. 9개의 탐색 점들 중에서 최소 정합 오차를 갖는 탐색 점의 위치는 움직임 벡터를 의미한다.
도 11은 탐색 영역 내의 정합 오차를 나타낸 오차 표면(error surface)을 도시한 도면이다. 도 11에 도시된 바와 같이 탐색 영역 내에 여러 개의 지역 최소값(local minimum)이 존재한다는 것을 알 수 있다. 삼 단계 탐색의 첫 번째 단계에서는 탐색 영역 내에서 균등하게 할당된 탐색 점을 사용하기 때문에 지역 최소값(local minimum)에 빠지기 쉽다. 따라서 작은 움직임을 추정할 때 삼 단계 탐색 방법은 비효율적이다.
2차원 로가리듬(logarithm) 탐색은 5×5 격자(grid) 상에서 5개의 탐색 점을 조사한 후 반복적으로 각 탐색 점의 블록 정합 오차를 비교한 다음 탐색 범위를 반으로 줄여서 탐색하는 방식이다.
도 12a 내지 도 12c는 2차원 로가리듬 탐색을 수행하는 과정을 설명하기 위한 도면이다. 도 12a에 도시된 바와 같이 탐색 윈도우가 7일 때, 2차원 로가리듬 탐색에서는 5×5 격자(grid)상에 균등하게 할당된 5개의 탐색 점을 이용해서 최소 정합 오차를 갖는 점을 찾는다. 도 12c에 도시된 바와 같이 최소 정합 오차를 갖는 탐색 점이 5개의 탐색 점의 중심과 같은 경우 최소 정합 오차를 갖는 탐색 점을 중심으로 8개의 탐색 점을 추가한다. 이때 두 탐색 점 사이의 거리는 초기 단계의 것보다 반이다. 최소 정합 오차를 갖는 탐색 점이 5개의 탐색 점의 중심과 같지 않은 경우 도 12b에 도시된 바와 같이 최소 정합 오차를 갖는 탐색 점을 중심으로 이전 단계의 과정을 반복한다. 이 과정은 최소 정합 오차의 점이 5×5 격자(grid) 상의 중심과 같을 때까지 반복된다. 9개의 탐색 점들 중에서 최소 정합 오차를 갖는 탐색 점의 위치가 움직임 벡터의 좌표가 된다.
다이아몬드 탐색은 움직임 벡터의 분포가 탐색 윈도우의 중심에 집중되어 있다는 가정 하에서 수행된다. 다이아몬드 탐색에서는 두 가지 탐색 패턴을 사용한다. 도 13a 내지 도 13b는 다이아몬드 탐색에서 사용되는 두 가지 탐색 패턴을 도시한 도면이다. 첫 번째 탐색 패턴은 도 13a에 도시된 바와 같이 큰 다이아몬드 탐색 패턴으로 다이아몬드 형태이고, 두 번째 탐색 패턴은 도 13b에 도시된 바와 같이 더 작은 크기를 갖는 형태의 작은 다이아몬드 탐색 패턴이다. 다이아몬드 탐색에서는 최소 블록 정합 오차가 탐색 패턴의 중심에 존재할 때까지 큰 다이아몬드 탐색 패턴을 이용해서 반복적으로 탐색을 한다.
도 14는 다이아몬드 탐색을 수행하는 과정을 도시한 예이다. 도 14에 도시된 바와 같이 큰 다이아몬드 탐색 패턴의 최소 정합 오차를 갖는 위치가 다이아몬드의 꼭지점에 존재하는 경우 5개의 탐색 점이 추가되고, 큰 다이아몬드 탐색 패턴의 최 소 정합 오차를 갖는 위치가 다이아몬드의 면 부분에 존재하는 경우 3개의 탐색 점이 추가된다. 큰 다이아몬드 탐색 패턴의 최소 정합 오차를 갖는 위치가 다이아몬드의 중심에 존재하는 경우 탐색 패턴이 큰 다이아몬드 탐색 패턴에서 작은 다이아몬드 탐색 패턴으로 변경된다. 이때, 작은 다이아몬드 탐색 패턴 내에 최소 블록 정합 오차를 갖는 탐색 점의 위치가 예측된 움직임 벡터의 좌표와 같다.
움직임 예측 방법에서는 사용되는 블록의 크기에 의하여 예측된 움직임 벡터의 정확성이 달라진다. 이와 같은 종래의 방법에서는, 고정된 크기의 블록을 사용하기 때문에 대상의 크기에 따라 예측된 움직임 벡터의 정확도가 일정하지 않은 문제점이 있다. 예를 들어 한 블록 내에 다른 방향을 갖는 두 가지 이상의 대상이 포함되는 경우 그 블록의 정확한 움직임 벡터를 예측하는 것은 어렵다.
본 발명은 상기한 종래 기술의 문제점을 해결하기 위하여 안출된 것으로서, 휴대폰 프로젝션 디스플레이의 화질을 향상시키기 위하여 간단한 계산 량 및 하드웨어 량을 사용하면서, 움직임 벡터를 예측하고 예측된 움직임 벡터를 이용하여, 프레임 레이트를 향상시킬 수 있는 프레임 레이트 변환 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 대상의 움직임 정도에 따라서 가변 크기의 블록과 탐색 영역을 사용함으로써 모션 져더나 모션 블러링과 같은 아티팩트를 방지할 수 있는 프레임 레이트 변환 방법을 제공하는 것을 목적으로 한다.
상기한 과제를 해결하기 위한 본 발명에 따른 프레임 레이트 변환 방법은 낮은 프레임 레이트의 동영상을 그 프레임 레이트를 증가시켜 높은 프레임 레이트의 동영상으로 변환하는 프레임 레이트 변환 방법에 있어서, 대상의 속도나 크기에 따라 다른 크기의 블록과 탐색 윈도우를 사용해서 움직임 벡터를 예측하는 제 1 단계 및 상기 예측된 움직임 벡터를 이용해서 낮은 프레임 레이트의 동영상을 높은 프레임 레이트의 동영상으로 변환하는 제 2 단계를 포함한다.
여기서, 상기 제 1 단계는, 이전 프레임과 현재 프레임의 동일 위치에 있는 제 1 크기의 블록에 대한 움직임 활동도를 예측하는 제 1 과정, 상기 예측된 움직임 활동도를 이용하여 대상의 크기와 속도에 적합한 블록 및 탐색 윈도우의 크기를 결정하는 제 2 과정 및 블록 정합 알고리즘을 이용하여 각 블록의 움직임 벡터를 예측하는 제 3 과정을 포함한다.
여기서, 상기 제 2 과정은 상기 SAD 값에 따라 블록이 정적 타입인지 동적 타입인지 결정하는 타입 결정 과정, 2 개의 이웃하는 동일 크기의 정적 타입 블록을 병합하여 블록의 크기를 확장하는 블록 병합 과정 및 블록의 타입에 따라 탐색 윈도우의 크기를 다르게 결정하는 탐색 윈도우 크기 결정 과정을 포함한다.
또한, 상기 제 2 과정은 병합된 블록 간에 대해서도 제 2 크기의 블록이 될 때까지 상기 블록 병합 과정을 반복한다.
상기 제 3 과정은 이전 프레임의 탐색 윈도우 내에서 현재 프레임의 블록과 최소 정합 오차를 가지는 위치를 찾아 움직임 벡터를 결정하는 순방향 움직임 예측 과정, 상기 이전 프레임의 탐색 윈도우 내의 각 위치에서의 SAD값과 그 중 최소 SAD값과의 차이가 제 1 문턱값보다 작은 위치의 수가 제 2 문턱값보다 많은 경우 현재 프레임의 탐색 윈도우 내에서 이전 프레임의 블록과 최소 정합 오차를 가지는 위치를 찾아 움직임 벡터를 결정하는 역방향 움직임 예측 과정, 정지 움직임을 보정하는 보정 과정 및 현재 프레임 상의 처리하고자 하는 블록과 이전 프레임 상에서 예측된 블록 사이의 최소 정합 오차가 제 3 문턱값보다 작은 경우, 확장된 탐색 윈도우 상에서 움직임 예측을 다시 수행하는 재수행 과정을 포함한다.
상기와 같이 구성되는 본 발명에 따른 프레임 레이트 변환 방법은 대상의 속도와 크기에 적합한 블록의 크기와 탐색 윈도우를 사용하여 움직임 벡터를 예측함 으로써 모션 블러링이나 블록 아티팩트와 같은 아티팩트를 최소화한 결과 화상을 얻을 수 있으며, 또한 움직임이 거의 없는 영역에서는 탐색 윈도우를 작게 사용함으로써 계산량이 감소되는 효과가 있다.
즉, 낮은 프레임 레이트를 갖는 입력 동영상에 프레임 레이트 변환 방법을 적용함에 있어서, 간단한 하드웨어와 적은 계산량을 사용하면서 화상 품질을 향상시킬 수 있으므로, 휴대폰 프로젝션 디스플레이를 대상으로 실시간 동영상 처리를 수행하는 것이 가능한 효과가 있다.
이하에서는 첨부된 도면들을 참조하여 본 발명의 바람직한 실시 예를 상세하게 설명한다. 다만, 본 발명을 설명함에 있어서 관련된 공지기술 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것 이다.
도 15는 본 발명에 따른 프레임 레이트 변환 방법을 수행하는 전체적인 흐름이 도시된 순서도이다. 도 15에 도시된 바와 같이 먼저, 이전 프레임과 현재 프레임을 입력받고(S110), 이전 프레임과 현재 프레임의 차이를 계산한다(S120).
이전 프레임과 현재 프레임의 차이가 큰 경우, 즉 화면이 전환되는 등의 경우와 같은 경우를 트랜지션(transition)타입이라 하는데, 두 프레임을 비교하여 트 랜지션(transition) 타입인지 아닌지 비교한다(S130).
만약 프레임이 트랜지션(transition)타입인 경우에는 움직임 예측 단계를 거치지 않고 프레임 보간 단계를 수행한다(S150). 트랜지션(transition) 타입인 프레임에서 예측된 움직임 벡터의 정확도가 낮기 때문에 결과 영상의 화질이 좋지 않다. 트랜지션(transition) 타입이 아닌 경우에는 제안하는 움직임 예측 방법을 수행하고(S140) 이에 의해 예측된 움직임 벡터를 이용해서 프레임 보간 단계를 수행한다(S150). 하기의 [수학식 4]는 트랜지션(transition) 타입의 경우, 수행되는 프레임 보간 방법을 나타내는 식이다.
Figure 112008008395715-pat00011
여기에서, α는 0과 1 사이의 상수이고, n은 프레임의 인덱스를 의미한다.
도 16은 본 발명에 따른 움직임 예측 기술을 수행하는 전체적인 흐름도이다.
도 16에 도시된 바와 같이, 본 실시 예의 움직임 예측 기술을 수행하는 단계는 이전 프레임과 현재 프레임의 동일 위치에 있는 16개의 8×8 블록의 화소 밝기 값이 입력되는 단계(S141), 입력된 화소 밝기값으로써 16개의 8×8 블록에 대한 움직임 활동도(motion activity level)가 예측되는 단계(S142), 예측된 움직임 활동도에 의하여 블록과 탐색 윈도우의 크기가 결정되는 단계(S143), 결정된 블록과 탐 색 윈도우의 크기를 이용하여 블록 정합 방법이 수행되는 단계(S144) 및 각 블록에 대한 예측된 움직임 벡터가 저장되는 단계(S145)를 포함한다.
상기 8×8 블록에 대한 움직임 활동도는 그 블록에 대한 움직임 크기를 의미한다. 블록의 움직임 활동도는 [수학식 5]에 나타낸 바와 같이 현재 프레임과 이전 프레임의 동일 위치에 있는 블록들 사이의 SAD에 의하여 예측된다. 계산된 SAD 값에 의하여 블록의 타입이 결정된다. 계산된 SAD의 값이 미리 결정된 문턱 값보다 작은 경우, 블록은 움직임이 거의 없는 정적(no-motion) 타입으로 결정되고, 그렇지 않은 경우에는 움직임이 있는 동적(motion) 타입으로 결정된다. 결정된 블록의 타입은 다음 단계에서 블록과 탐색 윈도우의 크기를 정하기 위하여 사용된다.
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이다.
도 18은 본 발명에 의하여 보간된 프레임 상에 적용된 블록의 크기를 도시한 예이다. 도 18a의 테스트 영상은 왼쪽에서 오른쪽으로 인접 프레임 간격마다 2 화소만큼 이동하는 사각형과 같은 단순한 움직임의 대상을 포함한다. 도 18b의 테스트 영상은 복잡한 움직임의 대상을 포함한다. 도 18a 및 도 18b에 도시된 바와 같이 움직임이 거의 없는 배경 영역에서는 32x32 블록이 사용되고 움직임이 있는 영역에서는 더 작은 크기의 블록이 사용된 것을 확인할 수 있다.
탐색 윈도우의 크기는 이미 결정된 블록의 타입에 의해 정해진다. 상세하게는, 블록의 타입이 동적(motion) 타입인 경우 탐색 윈도우의 크기는 ±7 더 크게 하고, 블록의 타입이 정적(no-motion) 타입인 경우 탐색 윈도우의 크기는 ±2 더 작게 한다. 블록의 움직임 복잡도가 큰 경우에 더 큰 탐색 윈도우가 사용되는 반면, 블록의 움직임이 거의 없는 정적(no-motion) 타입인 경우에는 사용되는 탐색 윈도우의 크기가 상대적으로 작다. 따라서 본 발명에 의하여 블록 타입에 따라 탐색 윈도우의 크기를 다르게 사용함으로써 계산량이 감소된다.
다음으로, 블록 정합 알고리즘을 이용하여 각 블록의 움직임 벡터를 예측하는 단계를 설명한다. 움직임 벡터를 예측하는 단계에서는, 이전 단계에서 결정된 블록의 크기와 탐색 윈도우의 크기를 적용하여 움직임 벡터를 예측한다.
도 19는 블록 정합 알고리즘을 이용하여 각 블록의 움직임 벡터를 예측하는 과정을 도시화한 흐름도이다. 도 19를 참고하면, 먼저, 순방향 움직임 예측 단계를 수행한다(S210). 순방향 움직임 예측에서는 이전 프레임이 참조 프레임으로 사용된다. 사용된 정합 오차 기준은 [수학식 6]에 나타낸 바와 같이 SAD이고 움직임 벡터는 [수학식 7]을 이용하여 예측된다. [수학식 7]에 나타낸 바와 같이 움직임 벡터는 탐색 윈도우 내에 최소 정합 오차를 갖는 위치를 의미한다.
Figure 112008008395715-pat00013
Figure 112008008395715-pat00014
여기서,
Figure 112008008395715-pat00015
은 n번째 프레임 상에 있는
Figure 112008008395715-pat00016
를 중심으로 하는 블록에 대하여 예측된 움직임 벡터를 의미한다.
다음으로, 탐색 윈도우에 있는 각 위치에서의 블록과 현재 처리하고자 하는 블록 사이의 SAD값인
Figure 112008008395715-pat00017
과 최소 SAD값인
Figure 112008008395715-pat00018
사이의 차이 값이 산출된다. 탐색 윈도우 상에 최소 SAD값과 유사한 SAD값을 갖는 위치 가 많은 경우, 탐색 윈도우 상의 계산된 SAD 분포에는 다수의 지역 최소값(local minimum)이 존재할 가능성이 크다. 이와 같은 문제점을 해결하기 위하여
Figure 112008008395715-pat00019
Figure 112008008395715-pat00020
의 차이 값이 미리 결정된 문턱값보다 큰 위치의 개수(블럭의 수)가 소정의 기준치 이상일 경우, 역방향 움직임 예측 단계가 수행된다(S220, S230, S240).
역방향 움직임 단계에서는 현재 프레임이 참조 프레임으로써 사용된다. 자막과 같이 한 방향으로 움직이거나 정지된 대상에 적용되는 경우, 탐색 윈도우 상의 계산된 SAD 분포에 다수의 지역 최소값이 존재하는 경우가 많다.
도 20a 및 도 20b는 오른쪽에서 왼쪽으로 같은 속도의 움직임으로 이동하는 자막을 도시한 예이다. 도 20a 및 도 20b에서 사각형 테두리 안의 블록이 현재 처리하고자 하는 블록이라고 가정할 때, 순방향 움직임 예측에서는 도 20b의 사각형 테두리 안의 블록이 기준으로써 사용되고 이전 프레임 상에서 탐색이 수행된다. 그러나 도 20b의 사각형 테두리 안의 블록은 이전 프레임 상에는 없던 대상을 포함하기 때문에 이전 프레임 상에서는 처리하고자 하는 블록과 정확하게 정합되는 블록을 찾는 것이 거의 불가능하다. 따라서 역방향 움직임 예측이 수행됨으로써 처리하고자 하는 블록과 정확하게 정합되는 블록이 결정될 수 있다.
다음으로, 정지 움직임을 보정하는 단계가 수행된다(S250). 실제 움직임 벡터의 값은 (0, 0)임에도 불구하고 움직임 벡터의 값이 (0, 0)이 아닌 다른 값으로 예측되는 경우가 있다. 이와 같은 현상을 보정하기 위해 정지 움직임을 보정하는 단계를 수행한다. 이 단계에서는
Figure 112008008395715-pat00021
Figure 112008008395715-pat00022
의 차를 계산하고(S260), 그 차가 미리 결정된 문턱값보다 작은 경우 블록은 정지 영역에 위치한다고 판단하고, 움직임 벡터
Figure 112008008395715-pat00023
은 (0, 0)으로 변경한다(S270, S290).
다음으로, 확대된 탐색 윈도우 상에서 움직임 예측이 다시 수행된다(S270, S280). 본 발명에 제시된 방법에서는 처리 속도를 향상시키기 위해 초기에 사용된 탐색 윈도우의 크기가 작다. 만약 대상의 움직임 크기가 초기에 사용된 탐색 윈도우의 크기보다 크다면 움직임 벡터를 잘못 예측할 가능성이 크다. 따라서 이와 같은 경우를 보정하기 위해 더 큰 탐색 윈도우 상에서 탐색하는 것이 필요하다. 현재 프레임 상의 처리하고자 하는 블록과 이전 프레임 상에서 예측된 블록 사이의 SAD 값이 미리 결정된 임계 값보다 큰 경우, 확대된 탐색 윈도우 상에서 탐색이 다시 수행된다. 이 단계에서는 확대된 탐색 윈도우 상에서 이미 탐색된 영역을 제외한 나머지 영역에 대하여 탐색이 수행되기 때문에 실행 시간이 오래 소요되지 않는다.
상기 언급한 바와 같이, 본 발명에서 제시한 움직임 예측 방법은 대상의 속도에 대해 적합한 크기의 블록과 탐색 윈도우를 사용하는 것을 특징으로 한다. 또한 본 발명은 휴대폰을 대상으로 개발되었기 때문에 필요한 하드웨어 복잡도를 최소화해야 한다. 본 발명은 각 컬러 채널 당 1개의 프레임 메모리만을 필요로 하는 동시에 본 발명에 의한 결과 영상은 종래 기술의 것보다 더 향상된 화질을 갖는다는 특징을 갖는다.
다음으로, 상기 움직임 예측 기술에 의하여 산출된 움직임 벡터를 이용하여 이전 프레임과 현재 프레임 사이에 새로운 프레임을 보간하는 단계가 수행된다. 보간된 프레임이 시간적으로 인접한 프레임들의 중간에 위치하는 경우, [수학식 8]에 의하여 이전 프레임과 현재 프레임 사이에 새로운 프레임이 생성된다. 만약 보간된 프레임의 화소 값이[수학식 8]에 의하여 계산되지 않는 경우, 새로운 프레임의 화소 값은[수학식 9]에 의하여 계산된다.
Figure 112008008395715-pat00024
여기서,
Figure 112008008395715-pat00025
는 최종적으로 계산된 움직임 벡터를 의미하고,
Figure 112008008395715-pat00026
는 생성된 새로운 프레임을 의미한다.
Figure 112008008395715-pat00027
본 발명의 실시예의 성능을 검증하기 위하여 실험 비디오 시퀀스의 짝수 번째 프레임으로부터 본 발명의 실시예에 따라 홀수 번째 프레임을 생성한다. 종래 기술은 고정된 크기의 블록과 탐색 영역을 사용하는 전역 탐색(FS)과 고속 움직임 예측 방법인 삼단계 탐색(TSS)을 사용하였고, 프레임 보간 방법은 [수학식 8]과 [수학식 9]에 의하여 수행된다. 종래 기술에 대한 실험에 사용된 블록의 크기는 8×8이고, 탐색 영역은 x와 y 방향으로 최대 6 화소이다. 종래 기술과 본 발명의 실시예의 성능을 비교하기 위하여 [수학식 10]에 의하여 PSNR(peak signal to noise ratio)이 계산된다.
Figure 112008008395715-pat00028
여기서,
Figure 112008008395715-pat00029
은 원본 홀수 번째 프레임을 나타내고,
Figure 112008008395715-pat00030
은 프레임 레이트 변환 기술에 의하여 생성된 홀수 번째 프레임을 나타낸다. X는 프레임의 전체 화소 개수를 나타낸다.
도 21a 내지 도 21c는 종래 기술에 따라 생성된 프레임에 대한 PSNR과 본 발 명의 실시예에 따라 생성된 프레임에 대한 PSNR을 비교하여 나타낸 도면이다. 도 21a에 사용된 실험 비디오 시퀀스인 홀 모니터(Hall monitor)는 세밀한 영역을 적게 포함하고, 대상의 움직임이 크지 않다. 도 21b에 사용된 실험 비디오 시퀀스인 풋볼(Football)은 세밀한 영역을 많이 포함하고, 대상의 움직임이 빠르다. 도 21c에 사용된 실험 비디오 시퀀스인 노동자(Foreman)는 홀 모니터(Hall monitor)와 풋볼(Football)의 중간 특성을 갖는다. 실험 비디오 시퀀스는 100프레임으로 구성되고, 각 프레임의 크기는 352×288이다. 도 21에 도시된 바와 같이 본 발명의 실시예에 따라 생성된 결과의 성능이 종래 기술에 의한 결과보다 더 좋은 것을 확인할 수 있다.
도 22a, 도 23a는 종래 기술인 전역 탐색에 따라 생성된 프레임의 예를 나타낸 것이고, 도 22b, 도 23b는 종래 기술인 삼단계 탐색에 따라 생성된 프레임의 예를 나타낸 것이다. 그리고 도 22c, 도 23c는 본 발명의 실시예에 따라 생성된 프레임의 예를 나타낸 것이다. 도 22a 내지 도 22c의 실험 비디오 시퀀스는 노동자(Foreman)이고 도 23a 내지 도 23c의 실험 비디오 시퀀스는 풋볼(Football)이다.
이상과 같이 본 발명에 의한 프레임 레이트 변환 방법을 예시된 도면을 참조로 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않고, 기술사상이 보호되는 범위 이내에서 응용될 수 있다.
도 1은 프레임 레이트 변환 기술의 프레임 변환 기술을 적용함으로써 낮은 프레임 레이트의 입력 동영상을 높은 프레임 레이트의 출력 동영상으로 변환하는 일례를 도시한 도면이며,
도 2는 종래의 프레임 반복 방법에 의하여 생성된 움직이는 대상의 위치를 도시한 예를 나타낸 도면이며,
도 3은 종래의 프레임 평균 방법에 의하여 생성된 움직이는 대상의 위치를 도시한 예를 나타낸 도면이며,
도 4는 이웃하는 프레임의 움직임 보상 평균에 의하여 보간된 출력 프레임을 도시한 예를 나타낸 도면이며,
도 5는 참조 프레임의 탐색 영역 내에서 X×Y크기의 블록에 대한 움직임 벡터를 예측하는 과정을 도시한 예를 나타낸 도면이며,
도 6은 종래의 서브 샘플링 방법을 설명하기 위하여 각 화소에 'a', 'b', 'c', 'd'로 표시된 8×8 블록을 나타낸 도면이며,
도 7a 및 도 7b는 탐색 영역 상에서 네 개의 서브 샘플링 패턴의 사용 순서를 도시한 도면이며,
도 8은 현재 프레임 상의 블록을 나타낸 것으로 sub-sampled motion field 방법을 설명하기 위한 도면이며,
도 9는 현재 프레임에서 각 블록이 N/2×N/2 크기를 갖는 4개의 서브 블록으로 나눠진 것을 나타낸 도면이며,
도 10a 내지 도 10c는 삼 단계 탐색을 수행하는 과정을 설명하기 위한 도면이며,
도 11은 탐색 영역 내의 정합 오차를 나타낸 오차 표면(error surface)을 도시한 도면이며,
도 12a 내지 도 12c는 2차원 로가리듬 탐색을 수행하는 과정을 설명하기 위한 도면이며,
도 13a 및 도 13b는 다이아몬드 탐색에서 사용되는 두 가지 탐색 패턴을 도시한 도면이며,
도 14는 다이아몬드 탐색을 수행하는 과정의 예를 도시한 도면이며,
도 15는 본 발명에 따른 프레임 레이트 변환 기술을 수행하는 전체적인 흐름도이며,
도 16은 본 발명에 따른 움직임 예측 기술을 수행하는 전체적인 흐름도이며,
도 17a 내지 도 17g는 각 블록 클래스와 이에 속하는 블록의 크기를 도시한 도면이며,
도 18a 및 도 18b는 본 발명에 의하여 보간된 프레임 상에 적용된 블록의 크기를 도시한 도면이며,
도 19는 블록 정합 알고리즘을 이용하여 각 블록의 움직임 벡터를 예측하는 과정을 도시화한 흐름도이며,
도 20a 및 도20b는 오른쪽에서 왼쪽으로 같은 속도의 움직임으로 이동하는 자막의 예를 도시한 도면이며,
도 21a 내지 21c는 종래 기술에 따라 생성된 프레임에 대한 PSNR과 본 발명의 실시예에 따라 생성된 프레임에 대한 PSNR을 비교하여 나타낸 도면이며,
도 22a 및 도 23a는 종래 기술인 전역 탐색에 따라 생성된 프레임의 예를 도시한 도면이며,
도 22b, 도 23b는 종래 기술인 삼단계 탐색에 따라 생성된 프레임의 예를 도시한 도면이며,
도 22c, 도 23c는 본 발명의 실시예에 따라 생성된 프레임의 예를 도시한 도면이다.

Claims (11)

  1. 낮은 프레임 레이트의 동영상을 그 프레임 레이트를 증가시켜 보다 높은 프레임 레이트의 동영상으로 변환하는 프레임 레이트 변환 방법에 있어서,
    대상의 속도나 크기에 따라 다른 크기의 블록과 탐색 윈도우를 사용해서 움직임 벡터를 예측하는 제 1 단계; 및
    상기 예측된 움직임 벡터를 이용해서 낮은 프레임 레이트의 동영상을 높은 프레임 레이트의 동영상으로 변환하는 제 2 단계를 포함하고,
    상기 제 1 단계는, 이전 프레임과 현재 프레임의 동일 위치에 있는 제 1 크기의 블록에 대한 움직임 활동도를 예측하는 제 1 과정;
    상기 예측된 움직임 활동도를 이용하여 대상의 크기와 속도에 대응되는 소정의 블록 및 탐색 윈도우의 크기를 결정하는 제 2 과정; 및
    블록 정합 알고리즘을 이용하여 각 블록의 움직임 벡터를 예측하는 제 3 과정을 포함하며,
    상기 제 3 과정은, 이전 프레임의 탐색 윈도우 내에서 현재 프레임의 블록과 최소 정합 오차를 가지는 위치를 찾아 움직임 벡터를 결정하는 순방향 움직임 예측 과정;
    상기 이전 프레임의 탐색 윈도우 내의 각 위치에서의 SAD값과 최소 SAD값과의 차이값이 제 1문턱값보다 작은 위치의 갯수가 제 2문턱값 이상인 경우, 현재 프레임의 탐색 윈도우 내에서 이전 프레임의 블록과 최소 정합 오차를 가지는 위치를 찾아 움직임 벡터를 결정하는 역방향 움직임 예측 과정;
    정지 움직임을 보정하는 보정 과정;
    현재 프레임 상의 처리하고자 하는 블록과 이전 프레임 상에서 예측된 블록 사이의 최소 정합 오차가 제 3문턱값보다 작은 경우, 확장된 탐색 윈도우 상에서 움직임 예측을 다시 수행하는 재수행 과정을 포함하는 프레임 레이트 변환 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 제 1 크기는 8 × 8 인 것을 특징으로 하는 프레임 레이트 변환 방법.
  4. 청구항 1에 있어서,
    상기 제 1 과정에서 움직임 활동도는 이전 프레임과 현재 프레임의 동일 위치에 있는 단위 블록들에 대한 SAD(summed absolute difference)의 계산으로 산출되는 것을 특징으로 하는 프레임 레이트 변환 방법.
  5. 청구항 4에 있어서,
    상기 제 2 과정은 상기 SAD 값에 따라 블록이 정적 타입인지 동적 타입인지 결정하는 타입 결정 과정;
    2 개의 이웃하는 동일 크기의 정적 타입 블록을 병합하여 블록의 크기를 확장하는 블록 병합 과정; 및
    블록의 타입에 따라 탐색 윈도우의 크기를 다르게 결정하는 탐색 윈도우 크기 결정 과정을 포함하는 프레임 레이트 변환 방법.
  6. 청구항 5에 있어서,
    상기 타입 결정 과정은 상기 SAD 값이 미리 결정된 문턱값보다 작은 경우 정적 타입으로 결정하고, 상기 제 1 문턱값과 같거나 큰 경우에는 동적 타입으로 결정하는 것을 특징으로 하는 프레임 레이트 변환 방법.
  7. 청구항 5에 있어서,
    상기 제 2 과정은 병합된 블록 간에 대해서도 제 2 크기의 블록이 될 때까지 상기 블록 병합 과정을 반복하는 것을 특징으로 하는 프레임 레이트 변환 방법.
  8. 청구항 7에 있어서,
    상기 제 2 크기는 32 × 32 인 것을 특징으로 하는 프레임 레이트 변환 방법.
  9. 청구항 5에 있어서,
    상기 탐색 윈도우 크기 결정 과정은 해당 블록이 정적 타입인 경우, 동적 타입인 경우보다 상대적으로 작은 크기의 탐색 윈도우를 사용하는 것을 특징으로 하는 프레임 레이트 변환 방법.
  10. 삭제
  11. 청구항 1에 있어서,
    상기 재수행 과정은 이미 탐색된 영역을 제외한 나머지 영역에 대하여 탐색이 수행되는 것을 특징으로 하는 프레임 레이트 변환 방법.
KR1020080010400A 2008-01-31 2008-01-31 프레임 레이트 변환 방법 KR100969420B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080010400A KR100969420B1 (ko) 2008-01-31 2008-01-31 프레임 레이트 변환 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080010400A KR100969420B1 (ko) 2008-01-31 2008-01-31 프레임 레이트 변환 방법

Publications (2)

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

Family

ID=41204879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080010400A KR100969420B1 (ko) 2008-01-31 2008-01-31 프레임 레이트 변환 방법

Country Status (1)

Country Link
KR (1) KR100969420B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015108300A1 (ko) * 2014-01-17 2015-07-23 삼성전자주식회사 프레임률 제어 방법 및 그 전자 장치
KR20160145499A (ko) * 2015-06-10 2016-12-20 한양대학교 산학협력단 움직임 벡터들의 방향과 크기를 고려한 프레임 레이트 증가 방법 및 이를 이용하는 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101458099B1 (ko) * 2013-04-24 2014-11-05 전자부품연구원 흔들림 영상 안정화 방법 및 이를 적용한 영상 처리 장치
WO2018128232A1 (ko) * 2017-01-03 2018-07-12 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치

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 (ko) * 2014-01-17 2015-07-23 삼성전자주식회사 프레임률 제어 방법 및 그 전자 장치
US10373545B2 (en) 2014-01-17 2019-08-06 Samsung Electronics Co., Ltd. Frame rate control method and electronic device thereof
KR20160145499A (ko) * 2015-06-10 2016-12-20 한양대학교 산학협력단 움직임 벡터들의 방향과 크기를 고려한 프레임 레이트 증가 방법 및 이를 이용하는 장치
KR101709894B1 (ko) 2015-06-10 2017-02-23 한양대학교 산학협력단 움직임 벡터들의 방향과 크기를 고려한 프레임 레이트 증가 방법 및 이를 이용하는 장치

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100870278B1 (ko) 보간 프레임 작성 장치
US8315436B2 (en) Robust camera pan vector estimation using iterative center of mass
JP4997281B2 (ja) イメージ中の推定動きベクトルの決定方法、コンピュータプログラムおよびディスプレイ装置
KR101217627B1 (ko) 블록 기반의 움직임 추정 방법 및 장치
CN106254885B (zh) 数据处理***、执行运动估计的方法
KR20090006068A (ko) 동영상 시퀀스를 수정하는 방법 및 그 장치
JP2004530367A (ja) 動きベクトル予測方法及び動きベクトル予測装置
KR100692600B1 (ko) 움직임 추정 장치 및 방법
US20050180506A1 (en) Unit for and method of estimating a current motion vector
KR20130023644A (ko) 영상 프레임의 보간 방법 및 장치
KR20040105866A (ko) 움직임 추정 유닛 및 움직임 벡터 추정 방법
KR100969420B1 (ko) 프레임 레이트 변환 방법
US20060098886A1 (en) Efficient predictive image parameter estimation
US20080144716A1 (en) Method For Motion Vector Determination
WO2012066866A1 (ja) 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法
JP2006521740A (ja) 動きベクトル決定方法
KR20050081730A (ko) 움직임 보상 기반의 영상 신호 프레임율 변환 방법
JPH08242454A (ja) グローバル動きパラメタ検出方法
JP2007503656A (ja) エッジ方向の推定
KR101548269B1 (ko) 블록 분할 및 결합을 통한 움직임 추정 장치 및 방법
Blume et al. Segmentation in the loop: an iterative object-based algorithm for motion estimation
KR101781560B1 (ko) 표본 프로파일 정보 기반 움직임 추정장치 및 방법
KR20090084312A (ko) 움직임 벡터의 신뢰도 평가 및 보상 방법
KR100413002B1 (ko) 동영상 부호화기의 확산누적배열을 이용한 블록정합 장치및 그 방법
JP2006529039A (ja) エッジ方向の推定

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