KR100499144B1 - 적응적 양방향 움직임 추정 방법을 이용한 내삽 영상의움직임 벡터 생성 방법 및 장치 - Google Patents

적응적 양방향 움직임 추정 방법을 이용한 내삽 영상의움직임 벡터 생성 방법 및 장치 Download PDF

Info

Publication number
KR100499144B1
KR100499144B1 KR10-2003-0014007A KR20030014007A KR100499144B1 KR 100499144 B1 KR100499144 B1 KR 100499144B1 KR 20030014007 A KR20030014007 A KR 20030014007A KR 100499144 B1 KR100499144 B1 KR 100499144B1
Authority
KR
South Korea
Prior art keywords
block
matching
motion vector
search region
image
Prior art date
Application number
KR10-2003-0014007A
Other languages
English (en)
Other versions
KR20040079086A (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 KR10-2003-0014007A priority Critical patent/KR100499144B1/ko
Publication of KR20040079086A publication Critical patent/KR20040079086A/ko
Application granted granted Critical
Publication of KR100499144B1 publication Critical patent/KR100499144B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Systems (AREA)

Abstract

본 발명은 내삽 영상의 움직임 벡터를 생성하는 방법 및 장치를 개시한다. 본 발명의 내삽 영상의 움직임 벡터 생성 방법은 (a) 프레임 영상들 및 프레임 영상들 사이에 내삽될 내삽 영상의 시간적 위치를 나타내는 시간 위치 상수(α)를 입력받고, 내삽 영상의 최대 및 최소 블록 사이즈 및 프레임 영상들의 탐색 영역의 크기들을 결정하는 단계; (b) 최대 블록 사이즈에 따라서 내삽영상을 소정수의 블록들로 분할하고 프레임 영상들에 제 1 탐색 영역을 설정하여 각 블록들의 양방향 블록 매칭을 수행하는 단계; (c) 블록을 소정수의 부블록들로 분할하고, 블록에 인접한 블록들의 움직임 벡터를 이용하여 프레임 영상에 제 2 탐색 영역을 설정한 후, 제 2 탐색 영역에 대해서 양방향 매칭을 수행하여 각 부블록들의 움직임 벡터를 구하는 단계; 및 (d) 부블록의 크기가 최소 블록 사이즈 이하가 될 때까지, 부블록을 신규 블록으로 설정하고, 설정된 신규 블록에 대해서 (c) 단계를 반복하여, 내삽 영상의 각 블록의 움직임 벡터를 생성하는 단계를 포함한다.

Description

적응적 양방향 움직임 추정 방법을 이용한 내삽 영상의 움직임 벡터 생성 방법 및 장치{Method and apparatus for generating the motion vector of interpolated image using the adaptive bi-directional motion estimation}
본 발명은 영상 프레임의 내삽을 위한 내삽 프레임상의 움직임 벡터 추정 방법을 이용한 내삽 영상의 움직임 벡터 생성 방법 및 장치에 관한 것이다. 구체적으로, 본 발명은 임의의 연속된 두 장의 입력 영상 프레임에 대해 시간축 상으로 두 프레임 사이에 존재하는 임의의 시간에 대응하는 가상의 연속적인 영상 프레임을 내삽(interpolation)하기 위해 필요로 하는 내삽 프레임상의 움직임 벡터를 효과적으로 추정하여 내삽 영상의 움직임 벡터를 생성하는 방법 및 장치에 관한 것이다.
두 입력 영상 프레임 사이의 임의의 시간위치에 내삽할 영상 프레임에서의 움직임 벡터를 확보하게 되면, 내삽 프레임상의 각 픽셀값은, 그 픽셀에서의 움직임 벡터 추정치로 결정되는, 그 픽셀 움직임 경로상의 두 입력 영상 프레임상의 픽셀 값들을 참조함으로써 결정할 수 있다. 결국, 주어진 입력 동영상과 그 사이 사이의 임의의 시간축 상에 가상의 내삽 프레임들을 움직임 벡터에 기반하여 복원함으로써, 시각적으로 자연스러운 움직임을 보이는 원래보다 많은 프레임수를 보유한 동영상을 만들 수 있게 된다. 이와 같은 기술은 TV와 같은 영상 표시 장치들에서 입력영상의 프레임 속도를 증가변환(up-conversion)하고자 할 때 (특히 50Hz에서 60Hz로 변환)하고자 할 때, 반드시 필요로 하게 된다.
본 발명과 관련된 연속영상에서의 움직임 벡터 추정에 관한 기술들은 영상 표시 장치들에서의 입력 프레임 속도의 증가변환(frame rate up-conversion)을 위해서 뿐만 아니라 동영상 압축(motion picture compression)을 위한 중요 요소기술로서 매우 활발하게 연구되어져 왔다.
프레임 속도 증가변환을 위한 종래의 전형적인 움직임추정 방법으로는 다음과 같이 방법이 공지되어 있다. 첫 번째 방법은, 두 입력 영상에 대해 한 영상을 기준 프레임으로 다른 영상을 탐색영상으로 설정한다. 그 후, 미리 설정된 크기의 블록 단위로 그 기준 프레임을 분할하고, 각 분할 블록에 대해, 탐색영상에서 유사하다고 판단되는 영상블록을 찾는다. 매칭되는 두 블록간의 변위를 움직임벡터로 추정하게 된다. 이렇게 하여 추정된 기준영상상의 움직임 벡터 정보를 임의의 시간위치상의 (가상의) 내삽 프레임위치로 이동/변환시키게 된다.
그러나, 이와 같은 과정을 거쳐 얻어진 내삽 프레임상의 움직임 벡터 장(field)은 중간 중간에 겹침이 발생하거나 빈 공간(hole) 발생하기 때문에 이에 대한 별도의 복잡한 처리과정을 수행해야만 한다.
이러한 단점을 보완하기 위해서, 두 입력 프레임사이의 임의의 시간위치상의 (가상) 내삽 프레임상에서 직접적으로 움직임 벡터장(motion vector field)을 추정하는 방법이 제안되었다. 이러한 방법의 일 예가 다음 논문에 개시되었다. (B.T. Choi, S.H. Lee, and S.J. Ko, "New frame rate up-conversion using bi-directional motion estimation, IEEE Trans. on Consumer Electronics, vol. 46, no. 3, pp. 603-609, Aug. 2000).
이 방법은 (가상의) 내삽 프레임을 일정한 크기의 블록단위로 분할하고, 각 분할 블록에 대해 이 블록을 지나가는 모든 가능한 움직임경로상의 두 입력 프레임상의 영상블록 후보 중에서 제일 유사한 영상블록 조합에 해당하는 변위벡터를 움직임 벡터로 결정하게 된다(이하, 이러한 움직임 벡터 추정방법을 "양방향 블록 매칭 기법"이라고 칭한다). 이렇게 함으로써, 내삽 프레임상의 모든 블록에 대해 움직임 벡터를 결정할 수 있기 때문에, 앞에서와 같이, 움직임 벡터장에 겹침영역이나 빈 공간이 발생하지 않게 된다.
그러나, 이와 같은 방법도 기본적으로 고정된 크기의 블록을 사용하여 매칭을 수행하기 때문에 발생하는 문제점을 피할 수 없게 된다. 구체적으로, 블록 크기를 크게 설정한 경우에, 블록 내에 단일 움직임성분만 존재한다면 영상 특징패턴이 풍부해져 신뢰도가 높은 움직임 벡터 추정이 가능해진다. 그러나, 역으로 블록 내에 두 가지 이상의 움직임성분이 존재할 가능성이 커지기 때문에, 서로간에 독립적으로 다르게 움직이는 물체들의 경계영역에서는 잘못된 움직임 벡터 추정을 발생시키게 된다.
한편, 블록크기를 작게 설정한 경우에는 상대적으로 블록 내에 단일 움직임성분만 존재할 가능성이 커지게 되어 움직임경계영역에서 보다 정확한 움직임 벡터 추정이 가능해진다. 그러나, 크기 감소에 다른 영상 특징패턴이 부족해져 움직임 벡터 추정치의 신뢰도가 떨어지게 된다.
이와같은 단일 블록크기 설정에 따른 움직임 벡터 추정시의 문제점을 해결하기 위해 블록크기를 계층적으로 설정하여 적용한 움직임 벡터 추정 기법들이 제안되었다. 하지만, 이와 같은 기존의 적응적 블록 매칭(adaptive block matching) 기술들은 공통적으로 동영상 압축을 위해, 앞에서 언급했던 것처럼, 두 입력 영상 중에 하나를 기준 프레임으로 설정하고 그 기준 프레임상의 움직임 벡터를 추정하기 위한 단 방향 움직임 벡터 추정방법에 속한다. 이러한 방법의 일예가, 논문 [F. Vermaut, Y. Deville, X. Marichal, B. Macq, A distributed adaptive block matching algorithm : Dis-ABMA, Signal Processing : Image Communication, Vol. 16, no 5 - Jan. 2001, pp. 431-444]에 개시되었다. 상기 논문에서는 블록크기를 미리 설정한 최대값 수준에서 출발하여 최소값 수준까지 계층적으로 블록크기를 반으로 줄여가면서 움직임 벡터를 추정하는 각 단계에서 매칭 판정 함수 값이 주어진 문턱치보다 클 경우에는 현재 블록을 네 조각으로 분할하여 다음 단계로 계속 진행하게 되고, 그렇지 않으면 블록 분할을 멈추고 현재 크기의 블록에 대해 현재 추정된 움직임 벡터를 최종적으로 할당되게 된다.
이렇게 함으로써, 최종적으로는, 영상에서 여러 성분의 움직임이 존재하는 움직임 경계영역은 작은 크기의 블록들로 세밀히 분할되어 움직임 벡터가 할당되고, 그렇지 않은 영역에서는 큰 크기의 블록들로 분할되어 그에 해당하는 움직임 벡터가 할당되게 된다. 결국, 주어진 영상의 영역위치에 따라 서로 다른 수준의 계층적 움직임 벡터 추정작업을 수행하게 된다.
이러한 방법은 단순한 카메라 병진 운동에 의해 얻어진 동영상, 혹은 비교적 평탄영역이 많은 동영상에서는 비교적 효과적이지만, 카메라 줌인(zoon-in) 동작에 의해 영상에서의 움직임 벡터 분포가 비교적 급격하게 변화하는 경우에는 보다 섬세한 처리 기법이 필요하게 된다. 더욱이, 입력영상의 프레임 속도 증가변환(up-conversion)을 위한 내삽 영상의 화질은 추정 움직임 벡터의 정확도에 의해 결정적으로 좌우되기 때문에 이를 위한 움직임추정기법에서는 보다 섬세한 움직임 벡터장 (motion vector field)을 얻는 게 필수적이다.
상술한 종래 기술의 문제점을 해결하기 위해서, 본 발명은 적응적 양방향 블록매칭에 기반한 움직임벡터 추정에 관한 방법을 이용하여, 내삽영상에서의 보다 정확하면서 보다 평탄한 움직임벡터장 획득할 수 있고, 임의의 시간위치에서 보다 움직임이 정확하면서 자연스러운 가상의 내삽영상을 복원할 수 있는 내삽 영상의 움직임 벡터 생성 방법 및 장치를 제공하는 것을 목적으로 한다.
상술한 기술적 과제를 이루기 위한 본 발명의 내삽 영상의 움직임 벡터 생성 방법은, (a) 프레임 영상들 및 프레임 영상들 사이에 내삽될 내삽 영상의 시간적 위치를 나타내는 시간 위치 상수(α)를 입력받고, 내삽 영상의 최대 및 최소 블록 사이즈 및 프레임 영상들의 탐색 영역의 크기들을 결정하는 단계; (b) 최대 블록 사이즈에 따라서 내삽영상을 소정수의 블록들로 분할하고 프레임 영상들에 제 1 탐색 영역을 설정하여 각 블록들의 양방향 블록 매칭을 수행하는 단계; (c) 블록을 소정수의 부블록들로 분할하고, 블록에 인접한 블록들의 움직임 벡터를 이용하여 프레임 영상에 제 2 탐색 영역을 설정한 후, 제 2 탐색 영역에 대해서 양방향 매칭을 수행하여 각 부블록들의 움직임 벡터를 구하는 단계; 및 (d) 부블록의 크기가 최소 블록 사이즈 이하가 될 때까지, 부블록을 신규 블록으로 설정하고, 설정된 신규 블록에 대해서 (c) 단계를 반복하여, 내삽 영상의 각 블록의 움직임 벡터를 생성하는 단계를 포함한다.
한편, 상술한 기술적 과제를 이루기 위한 본 발명의 다른 내삽 영상의 움직임 벡터 생성 방법은, (a) 프레임 영상들 및 프레임 영상들 사이에 내삽될 내삽 영상의 시간적 위치를 나타내는 시간 위치 상수(α)를 입력받고, 내삽 영상의 최대 및 최소 블록 사이즈 및 프레임 영상들의 탐색 영역의 크기들을 결정하는 단계; (b) 최대 블록 사이즈에 따라서 내삽영상을 소정수의 블록들로 분할하고 프레임 영상들에 제 1 탐색 영역을 설정한 후, 각 블록들의 양방향 블록 매칭을 수행하여 움직임 벡터 및 매칭 모드를 구하는 단계; (c) 블록을 소정수의 부블록들로 분할하고, 블록의 매칭 모드가 매칭 블록 모드인 경우에는, 블록의 움직임 벡터를 이용하여 프레임 영상에 제 2 탐색 영역을 설정하고, 제 2 탐색 영역에 대해서 각 부블록들의 양방향 매칭을 수행하여 움직임 벡터 및 매칭 모드를 구하고, 매칭 모드가 비매칭 블록 모드인 경우에는, 블록 및 블록에 인접한 블록들의 움직임 벡터를 이용하여 프레임 영상에 제 2 탐색 영역을 설정하고, 제 2 탐색 영역에 대해서 각 부블록들의 양방향 매칭을 수행하여 움직임 벡터 및 매칭 모드를 구하는 단계; 및 (d) 부블록의 크기가 최소 블록 사이즈 이하가 될 때까지, 부블록을 신규 블록으로 설정하고, 설정된 신규 블록에 대해서 (c) 단계를 반복하여 내삽 영상의 각 블록의 움직임 벡터를 생성하는 단계를 포함한다.
상술한 기술적 과제를 이루기 위한 본 발명의 내삽 영상의 움직임 벡터 추정 장치는, 프레임 영상들 및 프레임 영상들 사이에 내삽될 내삽 영상의 시간적 위치를 나타내는 시간 위치 상수(α)를 입력받아, 내삽 영상의 최대 및 최소 블록 사이즈 및 프레임 영상들의 탐색 영역의 크기들을 결정하는 초기값 설정부; 프레임 영상들에 제 1 탐색 영역을 설정하고 내삽영상이 분할된 소정수의 블록들의 양방향 블록 매칭을 수행하여 움직임 벡터를 생성하고, 블록의 움직임 벡터를 이용하여 프레임 영상에 제 2 탐색 영역을 설정하고 블록들이 소정수로 분할된 부블록의 양방향 블록 매칭을 수행하여 부블록의 움직임 벡터를 생성하는 블록 매칭부; 블록 매칭부에서 양방향 블록 매칭이 수행된 블록들의 크기를 최소 블록 사이즈와 비교하여, 양방향 블록 매칭이 수행된 블록을 부블록들로 분할할지 여부를 결정하는 판정부; 판정부가 양방향 블록 매칭이 수행된 블록을 분할하기로 결정한 경우에, 블록을 소정수의 부블록들로 분할하여 블록 매칭부로 출력하는 블록 분할부; 및 판정부로부터 입력된 내삽 영상의 각 블록의 움직임 벡터를 출력하는 출력부를 포함한다.
이하에서는, 본 발명의 바람직한 실시예를 설명하기에 앞서, 양방향 블록 매칭과정을 예시하는 도 1 및 도 2 를 참조하여, 본 발명에서 수행되는 양방향 블록 매칭 과정을 설명한다.
먼저, Bi 는 내삽 영상에서 분할된 영상 블록 중 i 번째 블록을 나타내고, pBi 는 Bi가 속하는 부모 블록을 나타내며, MV(Bi) 는 블록 Bi 의 움직임 벡터를 나타내고, pMV(pBi) 는 Bi가 속하는 부모 블록의 움직임 벡터를 각각 나타낸다고 가정한다. 도 3 에 도시된 바와 같이, 부블록 Bi는 부모블록 pBi(부블록을 포함하면서 점선으로 그려진 사각형영역)가 네개로 분할되어 생긴 블록이다.
먼저 도 1 을 참조하면, 현재 블록 크기가 최대 블록 사이즈와 최소 블록 사이즈 사이의 크기라고 가정한다. 따라서, 이전 블록크기 레벨에 해당하는 부모블록의 움직임 정보(움직임벡터, 매칭모드)가 이미 추정과정을 거쳐 주어졌다고 가정한다. 현재블록의 부모블록이 움직임벡터 pMV(pBi)를 가졌을 때, 이를 현재블록의 초기 움직임벡터 V(Bi)0로 설정한다. 이 초기 움직임벡터와 부모블록의 매칭모드에 따른 탐색범위 SR(제 1 또는 제 2 탐색 영역)이 주어졌을 때, 이를 이용하여 기하학적으로 탐색영역 SRt 과 SRt+1를 결정한 후, 현재블록을 지나면서 두 탐색영역에 모두 포함되는 움직임경로를 가지는 후보 움직임벡터 D(Bi)에 의해 두 입력영상에서의 매칭 후보 블록 (Bi)t 과 (Bi)t+1를 기하학적으로 결정한다.
이와 같은 기하학적 관계에 대한 이해를 돕기위해, 두 입력영상에서의 두 탐색영역과 현재 매칭 후보블록들의 위치를 내삽영상에서의 현재블록의 위치와 겹쳐표시한 도 2 를 참조하면, 현재블록의 중심위치를 Pc=(xc,yc)라고 하면, 탐색영역 SRt의 중심위치는 (pc-α·V(Bi)0)가 되고, 탐색영역 SRt+1 의 중심위치는 (pc+(1-α)·V(Bi)0)가 된다.
그 후, 현재블록을 지나면서 두 탐색영역에 포함되는 움직임경로를 보이는 후보 움직임벡터 D(Bi)k에 대해, 매칭 오차값의 계산에 이용되는 함수의 일 예를 기재한 수학식 1 에 따라서 두 매칭 후보 영상블록 간의 평균 절대치 차분(mean absolute difference)인 MAD(D(Bi)k)를 계산한다. 여기에서 A는 매칭블록의 픽셀면적을, p 는 현재블록 Bi는 내부의 픽셀을 각각 나타낸다.
수학식 1 의 매칭 오차값 계산을 탐색 영역내의 모든 가능한 후보 움직임 벡터에 대해 수행하고, 계산된 매칭 오차값을 메모리에 저장한다. 메모리에 저장된 탐색 영역내의 모든 매칭 오차값들 중 최소값인 minMAE(Bi)를 찾고 이에 해당하는 후보 움직임 벡터를 현재블록의 움직임벡터 MV(Bi)로 결정한다.
이러한 움직임 벡터 결정은 다음의 수학식 2 와 같이 표현될 수 있다.
한편, 본 발명은 적응적 움직임 벡터 추정을 위해 계층적 블록크기 설정기법을 도입하였다. 예컨대, 최대 및 최소의 블록크기가 정해지면 그에 따라 블록크기의 계층레벨 L 은 최대 블록 크기(maxBlkSize) 및 최소 블록 크기(minBlkSize) 에 따라서 다음의 수학식 3 으로 정의된다.
본 발명에서 현재 블록크기 레벨 n (=0, 1, ..., L)은 다음의 블록크기(Blksize)를 나타낸다.
도 3 은 현재의 블록크기 레벨이 n 일 때의 내삽영상의 영상블록중의 현재(부)블록 Bi와, 그에 해당하는 이전 블록크기 레벨 (n-1) 에서의 부모블록을 보여주고 있다. 이전 블록크기 레벨 (n-1)에서의 부모블록 pBi는 그 블록에 대해 결정된 움직임정보를, 현재 블록크기 레벨 (n-1)에서 현재블록 Bi를 포함하는 (점선으로 표시된 블록영역 안의) 네 개의 현재블록들에게 동일하게 초기정보로 제공한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다.
도 4 는 본 발명의 바람직한 실시예에 따른 내삽 영상 움직임벡터 생성 장치의 구성을 도시한 블록도이다. 도 4 을 참조하면, 내삽 영상 움직임벡터 생성 장치는 프레임 영상들 및 프레임 영상들 사이에 내삽될 내삽 영상의 시간적 위치를 나타내는 시간 위치 상수(α)를 입력받는 입력부(410), 내삽 영상의 최대 및 최소 블록 사이즈 및 프레임 영상들의 탐색 영역의 크기들을 결정하는 초기값 설정부(420), 프레임 영상들에 제 1 탐색 영역을 설정하고 내삽영상이 분할된 소정수의 블록들의 양방향 블록 매칭을 수행하여 움직임 벡터를 생성하고, 블록의 움직임 벡터에 대응되는 프레임 영상 블록 주변에 제 2 탐색 영역을 설정하고 블록들이 소정수로 분할된 부블록의 양방향 블록 매칭을 수행하여 상기 부블록의 움직임 벡터를 생성하는 블록 매칭부(430), 블록 매칭부(430)에서 양방향 블록 매칭이 수행된 블록들의 크기를 상기 최소 블록 사이즈와 비교하여, 양방향 블록 매칭이 수행된 블록을 부블록들로 분할할지 여부를 결정하는 판정부(450), 판정부(450)가 양방향 블록 매칭이 수행된 블록을 분할하기로 결정한 경우에, 상기 블록을 소정수의 부블록들로 분할하여 상기 블록 매칭부(430)로 출력하는 블록 분할부(460), 및 판정부(450)로부터 입력된 내삽 영상의 각 블록의 움직임 벡터를 출력하는 출력부(470)를 포함한다.
도 5a 는 본 발명의 바람직한 제 1 실시예에 따른 내삽 영상의 움직임 벡터 생성 방법을 설명하는 흐름도이고, 도 5b 는 도 5a 의 제 S570 및 제 S580 단계의 상세 흐름도이다.
먼저, 도 5a 를 참조하여 본 발명의 움직임 벡터 추정 방법을 이용한 내삽영상 생성 방법을 살펴보면, 입력부(410)는 내삽 영상을 삽입할 두 장의 연속된 프레임 영상(It, It+1) 및 상기 프레임 영상 사이에 내삽 영상이 삽입될 시간적 위치를 나타내는 시간 위치 상수(α)를 입력받는다(S500). 이 때, 시간 위치 상수(α)는 0 내지 1 사이의 소수값으로 설정된다. 입력된 프레임 영상 및 시간 위치 상수(α)는 초기값 설정부(420)로 출력된다.
초기값 설정부(420)는 입력된 프레임 영상 및 시간 위치 상수(α)에 따라서 초기값을 설정한다(S510). 구체적으로, 초기값 설정부(420)는 입력된 프레임 영상의 크기에 따라서, 내삽 영상의 블록 매칭에 이용하기 위해서 내삽 영상을 일정한 크기의 블록들로 분할할 때 이용되는 최대 블록 크기(maxBlkSize) 및 최소 블록크기(minBlkSize)를 설정하는데, 본 실시예에서는 최대 블록 크기를 64 픽셀로, 최소 블록 크기를 8 픽셀로 각각 설정하였다. 또한, 초기값 설정부(420)는 블록 매칭부(430)에서 내삽 영상의 블록들의 매칭 블록쌍을 찾기 위해 프레임 영상에 설정되는 탐색 영역의 크기를 프레임 영상의 크기 및 영상에 존재하는 움직임벡터 최대치를 고려하여 설정한다. 예컨대, 제 1 탐색 영역은 프레임 영상 블록의 상하 좌우로 16 내지 32 픽셀 정도의 크기로 설정될 수 있고, 제 2 탐색 영역은 제 1 탐색 영역보다 상대적으로 작은 크기인 프레임 영상 블록의 상하 좌우로 2 내지 5 픽셀 정도의 크기로 설정된다. 초기값 설정부(420)는 입력된 프레임 영상들, 시간 위치 상수(α), 및 제 S510 단계에서 설정된 초기값들을 블록 매칭부(430)로 출력한다.
블록 매칭부(430)는 입력된 프레임 영상들 사이에 시간 위치 상수(α)값에 해당되는 시간 위치에 내삽될 영상을 설정하고, 설정된 내삽 영상을 상기 최대 블록 크기로 분할한 후, 내삽영상의 각 블록에 대해 영(zero)으로 설정한 초기 움직임벡터 V(Bi)0를 이용하여, 도 2 에 관하여 설명한 바와 같이, 기하학적 관계에 의해 두 프레임 영상 각각에 제 1 탐색 영역을 설정한다. 그 후 제 1 탐색 범위내에서 후술하는 양방향 블록 매칭 과정을 수행한다(S520).
상술한 바와 같이, 양방향 블록 매칭을 수행한 매칭 결과로서, 최소 매칭 오차 및 최소 매칭 오차를 나타내는 매칭 블록쌍의 움직임에 대응되는 움직임 벡터가 결정된다. 블록 매칭부(430)는 매칭 블록쌍의 움직임에 대응되는 움직임 벡터를 저장하고, 최소 매칭 오차를 소정의 임계값과 비교한다. 비교 결과, 최소 매칭 오차가 임계값보다 작다면, 양방향 블록 매칭이 수행된 블록의 매칭 모드를 "매칭 블록 모드"로 설정하고, 그렇지 않으면, "비매칭 블록 모드"로 설정한다. 블록 매칭부(430)는 내삽 영상의 모든 블록에 대해서 블록 매칭을 수행한 후, 각 블록의 매칭 모드 및 움직임 벡터를 포함하는 정보를 판정부(450)로 출력한다.
판정부(450)는 현재 블록 매칭이 수행된 블록의 사이즈와 초기값 설정부(420)에서 설정된 최소 블록 사이즈를 비교한다(S530). 현재 블록 매칭이 수행된 블록(이하, 현재 블록)의 사이즈가 초기값 설정부(420)에서 설정된 최소 블록 사이즈보다 크면, 판정부(450)는 현재 블록들을 소정수의 부블록들로 분할하여 부블록들에 대해서 블록 매칭을 수행할 것을 결정하고 현재 블록, 상기 S520단계에서 블록 매칭부(430)로부터 얻은 모든블록들의 움직임 벡터 및 블록 매칭 모드를 포함하는 매칭 결과들을 블록 분할부(460)로 출력한다.
현재 블록의 사이즈가 초기값 설정부(420)에서 설정된 최소 블록 사이즈보다 크지 않으면, 판정부(450)는 블록 매칭부(430)로부터 입력된 내삽영상의 모든블록들의 움직임 벡터를 출력부(470)로 출력한다.
블록 분할부(460)는 입력된 현재 블록들을 소정수의 블록들로 분할하는데, 본 실시예에서는 블록 분할부(460)는 현재 블록크기를 반으로 줄여 설정하고 이를 기반으로 내삽영상을 다시 분할한다. 결과적으로는, 현재의 각 블록들을 정사각형 형태로 4등분하여 부블록들을 생성한다(S540). 블록 분할부(460)는 생성된 부블록들을 블록 매칭부(430)로 출력한다.
이하에서는, 블록 매칭이 이미 수행된 현재 블록을 부모블록으로 칭하고, 현재 블록을 분할하여 생성된 블록 매칭이 수행될 부블록들을 현재 블록으로 칭한다.
부블록들을 수신한 블록 매칭부(430)는 모든 부블록 각각에 대하여 부블록들이 속한 부모 블록의 매칭 모드를 조사한 후, 모드에 따라 선별적으로 움직임벡터 추정하기 위하여 다음과정을 진행한다 (S550).
먼저, 부블록이 속한 부모 블록의 매칭 모드가 매칭 블록 모드라면, 블록 매칭부(430)는 부모 블록의 움직임 벡터를 초기 움직임벡터로 하여 도 2 에 도시된 바와 같이, 두 입력영상에서의 탐색영역 중심위치를 결정한다. 도 6 에 도시된 바와 같이, 현재 블록크기를 B, 탐색범위를 sr이라고 가정하면, 초기 움직임벡터에 따라서 결정된 탐색영역 중심위치를 기반으로 (2sr+B)2 크기의 정사각형 영역을 탐색영역으로 설정한다 (S560).
블록 매칭부(430)는 각 부블록에 대해서 설정된 제 2 탐색 영역 내에서 양방향 매칭을 수행하여, 매칭 후보 블록쌍간의 오차가 최소가 되는 매칭 블록을 선정하고 그때의 움직임 벡터를 저장한다. 또한, 블록 매칭부(430)는 최소 매칭 오차값을 소정의 임계값과 비교한다. 최소 매칭 오차값이 임계값보다 작으면, 블록 매칭부(430)는 블록 매칭이 수행된 부블록의 매칭 모드를 매칭 블록 모드로 설정하고, 그렇지 않으면, 비매칭 블록으로 설정한다(S565) 현재 부블록에 대한 상기의 매칭과정이 끝나면, 인접한 다음 부블록에 대하여 제 S550 단계부터 다시 수행하고, 내삽 영상내의 모든 부블록들에 대해서 블록매칭이 수행되면, 블록매칭의 결과들을 판정부(450)로 출력하여 내삽영상의 각 부블록에 대해서 상술한 제 S530 단계부터 다시 수행한다.
한편, 제 S550 단계에서 현재 (부)블록의 매칭 모드가 비매칭 블록 모드인 경우에는, 블록 매칭부(430)는 부모 블록에 인접한 블록들의 움직임 벡터를 이용하여 제 2 탐색 영역을 설정하고(S570), 부블록의 양방향 매칭을 수행한다(S580).
제 S570 및 제 S580 단계의 상세 흐름도인 도 5b 를 도 3을 참조하면서, 상세히 설명한다. 부모 블록의 매칭 모드가 비매칭 블록 모드인 경우에, 블록 매칭부(430)는 부블록이 속한 부모 블록(N(pBi)0)뿐 아니라 부모 블록(N(pBi)0)에 인접한 블록들(N(pBi)1~N(pBi)8)의 움직임 벡터 각각을 초기 움직임벡터로 설정하고 이를 기반으로, 상기 제 S560 단계에 관하여 설명한 바와같이, 두 입력영상에 현재 부블록(Bi)의 제 2 탐색 영역을 설정한다(S570).
블록 매칭부(430)는 설정된 각 움직임 벡터의 제 2 탐색 영역에 대해서 부블록의 양방향 매칭을 수행하여, 최소 매칭 오차 및 그때의 움직임 벡터를 구하고, 이렇게 하여 구한 9개의 최소 매칭 오차 중 최소값을, 최종적으로 부블록(Bi)의 최소 매칭 오차값으로 저장하고, 그 때의 매칭 블록쌍의 움직임을 나타내는 움직임 벡터를 부블록(Bi)의 움직임 벡터로 저장한다(S582).
블록 매칭부(430)는 저장된 최소 매칭 오차값을 임계값과 비교하여, 최소 매칭 오차값이 임계값보다 작으면 부블록의 매칭모드를 매칭 블록 모드로 설정한다(S583). 현재 부블록에 대한 상기의 매칭과정이 끝나면, 인접한 다음 부블록에 대하여 제 S550 단계부터 다시 수행한다(S590).
한편, 최소 매칭 오차값이 임계값보다 작지 않으면, 블록 매칭부(430)는 부모 블록의 움직임 벡터에 대응되는 프레임 영상 블록 주변에 제 2 탐색 영역보다 큰 제 1 탐색 영역을 설정하고(S584), 제 1 탐색 영역에 대해서 양방향 블록 매칭을 수행한다(S585). 블록 매칭부(430)는 양방향 매칭을 수행하여 구해진 블록쌍간의 오차가 최소가 되는 최소 매칭 오차값 및 그 때의 움직임 벡터를 부블록의 고유값으로 결정한다.
또한, 블록 매칭부(430)는 제 S584 및 제 S585 단계를 수행하여 구해진 최소 매칭 오차값을 소정의 임계값과 비교하고, 최소 매칭 오차값이 임계값보다 작으면 부블록의 매칭 모드를 "매칭 블록 모드"로 결정하고, 최소 매칭 오차값이 임계값보다 작지 않으면 부블록의 매칭 모드를 "비매칭 블록 모드"로 결정한다(S586). 현재 부블록에 대한 상기의 매칭과정이 끝나면, 인접한 다음 부블록에 대하여 제 S550 단계부터 다시 수행한다(S590).
이와같이 매칭모드에 따른 선별적 부블록 매칭과정은 현재 블록크기에 의해 발생된 내삽영상의 모든 부블록들에 대해 수행되어지고 그 결과들을 판정부(450)로 출력한다(S590).
한편, 판정부(450)가 현재 블록 매칭이 수행된 블록의 사이즈와 초기값 설정부(420)에서 설정된 최소 블록 사이즈를 비교한 결과, 현재 블록의 사이즈가 최소 블록 사이즈보다 크지 않다면, 판정부(450)는 현재 (부)블록들의 움직임 벡터들을 출력부(470)로 출력한다(S530). 출력부(470)는 내삽 영상의 움직임 벡터를 출력하게 된다(S595).
한편, 판정부(450)는 내삽 영상의 움직임 벡터뿐 아니라, 움직임 벡터에 대응되는 입력 프레임 영상의 매칭 블록쌍을 함께 출력하는 것도 가능하며, 이 경우에 출력부(470)는 움직임 벡터만을 출력할 수 있을 뿐 아니라, 움직임 벡터에 대응되는 매칭 블록쌍을 참조하여 내삽 영상을 구성하여, 구성된 내삽 영상을 출력하는 것도 가능하다.
이하, 도 7 을 참조하여 본 발명의 바람직한 제 2 실시예에 따른 내삽 영상의 움직임 벡터 생성 방법을 설명한다. 도 7 에 도시된 내삽 영상의 움직임 벡터 생성 방법은 상술한 도 5a 및 도 5b 에 기재된 제 1 실시예에서 매칭 모드를 결정하는 과정을 생략하고, 블록 매칭이 수행될 부블록의 부모 블록에 인접한 블록들의 움직임 벡터를 이용하는 방법을 일괄적으로 적용하였다. 이하, 구체적으로 살펴본다.
입력부(410)는 내삽 영상을 삽입할 두 장의 연속된 프레임 영상(It, It+1) 및 상기 프레임 영상 사이에 내삽 영상이 삽입될 시간적 위치를 나타내는 시간 위치 상수(α)를 입력받는다(S700). 이 때, 시간 위치 상수(α)는 0 내지 1 사이의 소수값으로 설정된다. 입력된 프레임 영상 및 시간 위치 상수(α)는 초기값 설정부(420)로 출력된다.
초기값 설정부(420)는 입력된 프레임 영상 및 시간 위치 상수(α)에 따라서 초기값을 설정한다(S710). 구체적으로, 초기값 설정부(420)는 입력된 프레임 영상의 크기에 따라서, 내삽 영상의 블록 매칭에 이용하기 위해서 내삽 영상을 일정한 크기의 블록들로 분할할 때 이용되는 최대 블록 크기(maxBlkSize) 및 최소 블록크기(minBlkSize)를 설정한다. 또한, 초기값 설정부(420)는 블록 매칭부(430)에서 내삽 영상의 블록들의 매칭 블록쌍을 찾기 위해 프레임 영상에 설정되는 탐색 영역의 크기를 프레임 영상의 크기 및 영상에 존재하는 움직임벡터 최대치를 고려하여 설정한다. 초기값 설정부(420)는 입력된 프레임 영상들, 시간 위치 상수(α), 및 제 S710 단계에서 설정된 초기값들을 블록 매칭부(430)로 출력한다.
블록 매칭부(430)는 입력된 프레임 영상들 사이에 시간 위치 상수(α)값에 해당되는 시간 위치에 내삽될 영상을 설정하고, 설정된 내삽 영상을 상기 최대 블록 크기로 분할한 후, 내삽영상의 각 블록에 대해 영(zero)으로 설정한 초기 움직임벡터 V(Bi)0를 이용하여, 도 2 에 관하여 설명한 바와같이, 기하학적 관계에 의해 두 프레임 영상 각각에 제 1 탐색 영역을 설정한다. 그 후 제 1 탐색 범위내에서 후술하는 양방향 블록 매칭 과정을 수행한다(S720).
상기에서 언급한 것 처럼, 양방향 블록 매칭을 수행한 매칭 결과로서 최소 매칭 오차 및 최소 매칭 오차를 나타내는 매칭 블록쌍의 움직임에 대응되는 움직임 벡터가 결정된다. 다만, 제 2 실시예에서는 제 1 실시예와 달리 매칭모드를 결정하지 않는다. 블록 매칭부(430)는 블록 매칭 결과를 상술한 제 1 실시예와 동일하게 판정부(450)로 출력한다.
판정부(450)는 현재 블록 매칭이 수행된 블록의 사이즈와 초기값 설정부(420)에서 설정된 최소 블록 사이즈를 비교한다(S730). 현재 블록 매칭이 수행된 블록(이하, "부모 블록"으로 칭함)의 사이즈가 초기값 설정부(420)에서 설정된 최소 블록 사이즈보다 크면, 판정부(450)는 부모 블록들을 소정수의 부블록들로 분할하여 부블록들에 대해서 블록 매칭을 수행할 것을 결정하고 부모 블록, 상기 S720단계에서 블록 매칭부(430)로부터 얻은 모든 부모블록들의 움직임 벡터를 블록 분할부(460)로 출력한다.
부모 블록의 사이즈가 초기값 설정부(420)에서 설정된 최소 블록 사이즈보다 크지 않으면, 판정부(450)는 블록 매칭부(430)로부터 입력된 부모 블록의 움직임 벡터를 출력부(470)로 출력한다.
한편, 블록 분할부(460)는 현재 블록크기를 반으로 줄여 설정하고 이를 기반으로 내삽영상을 다시 분할한다. 결과적으로는, 현재의 각 블록들을 정사각형 형태로 4등분하여 부블록들을 생성한다(S740). 블록 분할부(460)는 생성된 부블록들을 블록 매칭부(430)로 출력한다.
부블록들을 입력받은 블록 매칭부(430)는 부블록들이 속하는 부모 블록 및 부모 블록에 인접한 8개의 (부모)블록들의 움직임 벡터들 각각에 대해, 도 2상에 나타낸 기하학적 관계를 적용하여, 두 입력 프레임 영상위에 제 2 탐색 영역을 설정한다(S750). 제 2 탐색 영역을 설정하는 방식은 상술한 제 1 실시예의 제 S570 단계와 동일하다.
블록 매칭부(430)는 설정된 각각의 제 2 탐색 영역에 대해서 부블록의 양방향 매칭을 수행하여, 각각의 제 2 탐색 영역에서 최소 매칭 오차 및 그때의 움직임 벡터를 구하고, 이렇게 하여 구한 9개의 최소 매칭 오차 중 최소값을 나타내는 매칭 블록쌍에 대한 움직임 벡터를 부블록(Bi)의 움직임 벡터로 저장한다(S760). 현재 부블록에 대한 상기의 매칭과정이 끝나면, 인접한 다음 부블록에 대하여 블록 매칭을 수행하기 위하여 제 S750 단계로 다시 돌아가 블록 매칭과정을 수행하게 되며 모든 부블록들에 대해 이와같은 블록 매칭이 끝날 때 까지 반복하게 된다.
제 2 실시예의 내삽 영상 생성 장치는 상술한 제 S730 단계 내지 S760 단계의 블록 매칭 과정을 수행할 부블록의 크기가 최소 블록의 크기와 같아질 때까지 반복한 후, 내삽 영상의 모든 블록들에 대한 움직임 벡터를 출력부(470)로 출력하고, 출력부(470)는 입력된 내삽 영상의 움직임 벡터를 출력한다(S770).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명의 내삽 영상의 움직임 벡터 생성 방법은, 복원할 내삽 프레임 각 블록에 대해서 그 블록을 지나는 모든 가능한 움직임경로상의 두 입력영상에서의 매칭블록 후보들 중 매칭판정 오차값을 최소화시키는 매칭 블록간의 변위 벡터를 움직임 벡터로 결정하고, 이 때, 블록 매칭에 이용되는 블록의 크기를 계층적으로 변화시키며, 블록 매칭 수행시 매칭 탐색범위를, 이전 블록 크기 레벨에서 결정된, 부모블록(parent block)의 움직임벡터 추정치와 매칭모드를 참조하여 다르게 설정함으로써, 보다 섬세한 움직임벡터 추정이 가능토록 하는 효과가 있다.
아울러, 움직임 벡터 생성시에, 이전 블록 크기 레벨에서 얻었던 부모 블록에 인접한 블록들의 움직임벡터 추정치를 현재 부블록들에 적용하여 움직임벡터 추정에 적용함으로써 보다 균일한 움직임 벡터장을 얻을 수 있는 효과가 있다.
상술한 효과들로 인해서, 본 발명에 따르면, 임의의 시간위치에서 보다 움직임이 정확하면서 자연스러운 가상의 내삽영상을 복원 가능하게 된다. 결국, 본 발명기술은 서로 다른 TV영상 전송방식에 따른 입력영상의 프레임 속도를 증가변환(up-conversion)이나, 저속 영상 재생기(slow motion generator) 등에서 입력 프레임 속도변환을 위한 영상처리 장치에 적용 가능하다.
도 1 은 양방향 블록 매칭과정을 예시하는 도면이다.
도 2 는 움직임 벡터를 이용한 양방향 블록 매칭과정을 예시하는 도면이다.
도 3 은 블록 분할 방식, 및 탐색 영역 설정시에 참조하는 인접 블록들을 예시하는 도면이다.
도 4 는 본 발명의 바람직한 실시예에 따른 내삽 영상의 움직임 벡터 생성 장치의 구성을 도시하는 블록도이다.
도 5a 및 도 5b 는 본 발명의 바람직한 제 1 실시예에 따른 내삽 영상의 움직임 벡터 생성 방법을 설명하는 흐름도이다.
도 6 은 프레임 영상 블록 주변에 탐색영역을 설정하는 예를 도시하는 도면이다.
도 7 은 본 발명의 바람직한 제 2 실시예에 따른 내삽 영상의 움직임 벡터 생성 방법을 설명하는 흐름도이다.

Claims (26)

  1. (a) 프레임 영상들 및 상기 프레임 영상들 사이에 내삽될 내삽 영상의 시간적 위치를 나타내는 시간 위치 상수(α)를 입력받고, 상기 내삽 영상의 최대 및 최소 블록 사이즈 및 상기 프레임 영상들의 탐색 영역의 크기들을 결정하는 단계;
    (b) 상기 최대 블록 사이즈에 따라서 상기 내삽영상을 소정수의 블록들로 분할하고 상기 프레임 영상들에 제 1 탐색 영역을 설정하여 상기 각 블록들의 양방향 블록 매칭을 수행하는 단계;
    (c) 상기 블록을 소정수의 부블록들로 분할하고, 상기 블록에 인접한 블록들의 움직임 벡터를 이용하여 상기 프레임 영상에 제 2 탐색 영역을 설정한 후, 상기 제 2 탐색 영역에 대해서 양방향 매칭을 수행하여 상기 각 부블록들의 움직임 벡터를 구하는 단계; 및
    (d) 상기 부블록의 크기가 상기 최소 블록 사이즈 이하가 될 때까지, 상기 부블록을 신규 블록으로 설정하고, 설정된 신규 블록에 대해서 상기 (c) 단계를 반복하여, 상기 내삽 영상의 각 블록의 움직임 벡터를 생성하는 단계를 포함하는 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  2. 제 1 항에 있어서, 상기 (b) 단계는
    상기 각 블록을 지나는 움직임 경로상의 모든 가능한 프레임 영상들의 블록쌍간의 오차값을 계산하고, 상기 오차값이 최소가 되는 블록쌍들을 매칭 블록쌍으로 선정하여, 상기 매칭 블록쌍들의 움직임에 대응되는 상기 각 블록의 움직임 벡터를 구하는 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  3. 제 1 항에 있어서, 상기 (c) 단계는
    상기 각 부블록을 지나는 상기 제 2 탐색 영역간의 움직임 경로상의 모든 가능한 블록쌍간의 오차값을 계산하고, 상기 오차값이 최소가 되는 블록쌍들을 매칭 블록쌍으로 선정하여, 상기 매칭 블록쌍들의 움직임에 대응되는 상기 각 부블록의 움직임 벡터를 구하는 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  4. 제 1 항에 있어서, 상기 (c) 단계는
    상기 블록에 인접한 블록들의 움직임 벡터에 따라서 상기 프레임 영상에 탐색 영역의 중심 위치를 결정하고, 상기 중심 위치 주변에 제 2 탐색 영역을 설정하는 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  5. 제 1 항에 있어서,
    상기 부블록은 상기 블록 사이즈의 1/4 인 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  6. 제 1 항에 있어서,
    상기 제 1 탐색 영역이 상기 제 2 탐색 영역보다 큰 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 방법.
  7. (a) 프레임 영상들 및 상기 프레임 영상들 사이에 내삽될 내삽 영상의 시간적 위치를 나타내는 시간 위치 상수(α)를 입력받고, 상기 내삽 영상의 최대 및 최소 블록 사이즈 및 상기 프레임 영상들의 탐색 영역의 크기들을 결정하는 단계;
    (b) 상기 최대 블록 사이즈에 따라서 상기 내삽영상을 소정수의 블록들로 분할하고 상기 프레임 영상들에 제 1 탐색 영역을 설정한 후, 상기 각 블록들의 양방향 블록 매칭을 수행하여 움직임 벡터 및 매칭 모드를 구하는 단계;
    (c) 상기 블록을 소정수의 부블록들로 분할하고, 상기 블록의 매칭 모드가 매칭 블록 모드인 경우에는, 상기 블록의 움직임 벡터를 이용하여 프레임 영상에 제 2 탐색 영역을 설정하고, 상기 제 2 탐색 영역에 대해서 상기 각 부블록들의 양방향 매칭을 수행하여 움직임 벡터 및 매칭 모드를 구하고,
    상기 매칭 모드가 비매칭 블록 모드인 경우에는, 상기 블록 및 상기 블록에 인접한 블록들의 움직임 벡터를 이용하여 프레임 영상에 제 2 탐색 영역을 설정하고, 상기 제 2 탐색 영역에 대해서 상기 각 부블록들의 양방향 매칭을 수행하여 움직임 벡터 및 매칭 모드를 구하는 단계; 및
    (d) 상기 부블록의 크기가 상기 최소 블록 사이즈 이하가 될 때까지, 상기 부블록을 신규 블록으로 설정하고, 설정된 신규 블록에 대해서 상기 (c) 단계를 반복하여 상기 내삽 영상의 각 블록의 움직임 벡터를 생성하는 단계를 포함하는 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  8. 제 7 항에 있어서, 상기 (b) 단계는
    상기 각 블록을 지나는 움직임 경로상의 모든 가능한 프레임 영상들의 블록쌍간의 오차값을 계산하고, 상기 오차값이 최소가 되는 블록쌍들을 매칭 블록쌍으로 선정하여, 상기 매칭 블록쌍의 움직임에 대응되는 상기 각 블록의 움직임 벡터를 구하는 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  9. 제 7 항에 있어서, 상기 (c) 단계는
    상기 각 부블록을 지나며 상기 제 2 탐색 영역간의 움직임 경로상의 모든 가능한 블록쌍간의 오차값을 계산하고, 상기 오차값이 최소가 되는 블록쌍들을 매칭 블록쌍으로 선정하여, 상기 매칭된 블록쌍들의 움직임에 대응되는 상기 각 부블록의 움직임 벡터를 구하는 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  10. 제 7 항에 있어서, 상기 (c) 단계는
    상기 블록의 매칭모드가 비매칭 블록 모드인 경우에,
    상기 블록 및 인접한 블록 각각의 움직임 벡터에 따라서 상기 프레임 영상에 탐색 영역의 중심위치를 결정하고, 상기 중심 위치 주변에 제 2 탐색 영역을 각각 설정하여, 상기 각 제 2 탐색 영역에 대해서 양방향 블록 매칭을 수행하는 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  11. 제 10 항에 있어서, 상기 (c) 단계는
    상기 블록의 매칭모드가 비매칭 블록 모드인 경우로서, 상기 부블록에 대한 블록쌍의 오차값이 소정의 임계값보다 큰 경우에는, 상기 부블록이 속하는 블록의 움직임 벡터에 대응되는 프레임 영상 블록의 주변에 제 1 탐색영역을 설정하고 양방향 블록 매칭을 수행하여 상기 부블록의 움직임 벡터를 구하는 단계를 더 포함하는 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  12. 제 7 항에 있어서,
    상기 부블록은 상기 블록 사이즈의 1/4 인 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  13. 제 7 항에 있어서,
    상기 제 1 탐색 영역이 상기 제 2 탐색 영역보다 큰 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 방법.
  14. 제 8 항, 제 9 항, 및 제 11 항 중 어느 한 항에 있어서,
    상기 매칭된 블록쌍의 오차값이 소정의 임계값보다 크면, 상기 매칭모드를 비매칭 블록 모드로 설정하고, 상기 임계값 보다 작으면, 상기 매칭 모드를 매칭 블록 모드로 설정하는 것을 특징으로 하는 내삽영상의 움직임 벡터 생성 방법.
  15. 제 14 항의 내삽 영상 생성 방법을 컴퓨터에서 판독할 수 있고, 실행 가능한 프로그램 코드로 기록한 기록 매체.
  16. 제 1 항 내지 제 13 항 중 어느 한 항의 내삽 영상 생성 방법을 컴퓨터에서 판독할 수 있고, 실행 가능한 프로그램 코드로 기록한 기록 매체.
  17. 프레임 영상들 및 상기 프레임 영상들 사이에 내삽될 내삽 영상의 시간적 위치를 나타내는 시간 위치 상수(α)를 입력받아, 상기 내삽 영상의 최대 및 최소 블록 사이즈 및 상기 프레임 영상들의 탐색 영역의 크기들을 결정하는 초기값 설정부;
    상기 프레임 영상들에 제 1 탐색 영역을 설정하고 상기 내삽영상이 분할된 소정수의 블록들의 양방향 블록 매칭을 수행하여 움직임 벡터를 생성하고, 상기 블록의 움직임 벡터를 이용하여 상기 프레임 영상에 제 2 탐색 영역을 설정하고 상기 블록들이 소정수로 분할된 부블록의 양방향 블록 매칭을 수행하여 상기 부블록의 움직임 벡터를 생성하는 블록 매칭부;
    상기 블록 매칭부에서 양방향 블록 매칭이 수행된 블록들의 크기를 상기 최소 블록 사이즈와 비교하여, 양방향 블록 매칭이 수행된 블록을 부블록들로 분할할지 여부를 결정하는 판정부;
    상기 판정부가 양방향 블록 매칭이 수행된 블록을 분할하기로 결정한 경우에, 상기 블록을 소정수의 부블록들로 분할하여 상기 블록 매칭부로 출력하는 블록 분할부; 및
    상기 판정부로부터 입력된 내삽 영상의 각 블록의 움직임 벡터를 출력하는 출력부를 포함하는 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 장치.
  18. 제 17 항에 있어서, 상기 블록 매칭부는
    상기 각 블록을 지나는 움직임 경로상의 모든 가능한 제 1 탐색 영역내의 블록쌍간의 오차값을 계산하고, 상기 오차가 최소가 되는 블록쌍의 움직임에 따라서 블록의 움직임 벡터를 구하는 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 장치.
  19. 제 17 항에 있어서, 상기 블록 매칭부는
    상기 각 부블록을 지나는 상기 제 2 탐색 영역간의 움직임 경로상의 모든 가능한 블록쌍간의 오차값을 계산하고, 상기 오차값이 최소가 되는 블록쌍의 움직임에 따라서 상기 각 부블록의 움직임 벡터를 구하는 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 장치.
  20. 제 17 항에 있어서, 상기 블록 매칭부는
    상기 블록 및 상기 블록에 인접한 블록들의 움직임 벡터에 따라서 탐색 영역의 중심 위치를 결정하고, 상기 중심 위치 주변에 제 2 탐색 영역을 설정하여, 상기 부블록의 블록 매칭을 수행하는 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 장치.
  21. 제 17 항에 있어서, 상기 블록 매칭부는
    상기 블록 매칭을 수행하여 구한 매칭 블록쌍의 오차가 소정의 임계값보다 작으면 상기 블록의 매칭 모드를 매칭 블록 모드로 설정하고, 상기 임계값보다 작지 않으면 비매칭 블록 모드로 설정하는 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 장치.
  22. 제 21 항에 있어서, 상기 블록 매칭부는
    상기 블록의 매칭 모드가 매칭 블록 모드라면, 상기 블록의 움직임 벡터에 따라서 상기 프레임 영상내의 탐색 영역의 중심 위치를 결정하고, 상기 중심 위치 주변에 제 2 탐색 영역을 설정하여 상기 부블록의 양방향 블록 매칭을 수행하는 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 장치.
  23. 제 21 항에 있어서, 상기 블록 매칭부는
    상기 블록의 매칭 모드가 비매칭 블록 모드라면, 상기 블록 및 상기 블록에 인접한 블록들의 움직임 벡터에 따라서 상기 프레임 영상내의 탐색 영역의 중심 위치를 결정하고, 상기 중심 위치 주변에 제 2 탐색 영역을 설정하여, 상기 부블록의 양방향 블록 매칭을 수행하는 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 장치.
  24. 제 23 항에 있어서, 상기 블록 매칭부는
    상기 블록의 매칭 모드가 비매칭 블록 모드인 경우에, 상기 부블록의 양방향 블록 매칭을 수행하여 구해진 매칭 블록쌍의 오차가 소정의 임계값보다 작지 않으면, 상기 블록의 움직임 벡터에 따라서 결정된 탐색 영역의 중심 위치 주변에 제 1 탐색 영역을 설정하여 상기 부블록의 양방향 블록 매칭을 수행하는 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 장치.
  25. 제 17 항 내지 제 24 항 중 어느 한 항에 있어서, 상기 제 1 탐색 영역의 크기가 상기 제 2 탐색 영역의 크기보다 큰 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 장치.
  26. 제 17 항 내지 제 24 항 중 어느 한 항에 있어서, 상기 부블록의 크기는 상기 블록의 크기의 1/4 인 것을 특징으로 하는 내삽 영상의 움직임 벡터 생성 장치.
KR10-2003-0014007A 2003-03-06 2003-03-06 적응적 양방향 움직임 추정 방법을 이용한 내삽 영상의움직임 벡터 생성 방법 및 장치 KR100499144B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0014007A KR100499144B1 (ko) 2003-03-06 2003-03-06 적응적 양방향 움직임 추정 방법을 이용한 내삽 영상의움직임 벡터 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0014007A KR100499144B1 (ko) 2003-03-06 2003-03-06 적응적 양방향 움직임 추정 방법을 이용한 내삽 영상의움직임 벡터 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20040079086A KR20040079086A (ko) 2004-09-14
KR100499144B1 true KR100499144B1 (ko) 2005-07-04

Family

ID=37364143

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0014007A KR100499144B1 (ko) 2003-03-06 2003-03-06 적응적 양방향 움직임 추정 방법을 이용한 내삽 영상의움직임 벡터 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100499144B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100677562B1 (ko) 2005-02-03 2007-02-02 삼성전자주식회사 움직임 추정 방법 및 장치
CN106851271B (zh) * 2011-03-08 2019-10-18 Jvc 建伍株式会社 动图像编码装置以及动图像编码方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960705455A (ko) * 1993-09-08 1996-10-09 미쉘 자와즈키 블록 매칭을 이용한 모션 추정 방법 및 장치(Method and apparatus for motion estimation using block matching)
KR20010043410A (ko) * 1998-05-07 2001-05-25 피터 엔. 데트킨 비디오 프레임 속도를 증가시키기 위한 방법 및 장치
KR20010073388A (ko) * 2000-01-14 2001-08-01 윤종용 프레임 레이트 변환 장치 및 그 방법
KR20010111740A (ko) * 2000-06-13 2001-12-20 윤종용 양방향 움직임 벡터를 이용한 프레임 레이트 변환 장치 및그 방법
KR20020064440A (ko) * 2001-02-01 2002-08-09 엘지전자 주식회사 영상 움직임 보상 장치 및 방법
KR20020067192A (ko) * 2001-02-15 2002-08-22 삼성전자 주식회사 프레임 레이트 변환 기능을 갖는 비디오 디코더 및 그 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960705455A (ko) * 1993-09-08 1996-10-09 미쉘 자와즈키 블록 매칭을 이용한 모션 추정 방법 및 장치(Method and apparatus for motion estimation using block matching)
KR20010043410A (ko) * 1998-05-07 2001-05-25 피터 엔. 데트킨 비디오 프레임 속도를 증가시키기 위한 방법 및 장치
KR20010073388A (ko) * 2000-01-14 2001-08-01 윤종용 프레임 레이트 변환 장치 및 그 방법
KR20010111740A (ko) * 2000-06-13 2001-12-20 윤종용 양방향 움직임 벡터를 이용한 프레임 레이트 변환 장치 및그 방법
KR20020064440A (ko) * 2001-02-01 2002-08-09 엘지전자 주식회사 영상 움직임 보상 장치 및 방법
KR20020067192A (ko) * 2001-02-15 2002-08-22 삼성전자 주식회사 프레임 레이트 변환 기능을 갖는 비디오 디코더 및 그 방법

Also Published As

Publication number Publication date
KR20040079086A (ko) 2004-09-14

Similar Documents

Publication Publication Date Title
EP1274254B1 (en) Video coding device and video decoding device with a motion compensated interframe prediction
US5686973A (en) Method for detecting motion vectors for use in a segmentation-based coding system
KR100441509B1 (ko) 주사포맷변환장치 및 방법
US11070834B2 (en) Low-complexity method for generating synthetic reference frames in video coding
KR100492127B1 (ko) 적응형 움직임 추정장치 및 추정 방법
KR100446235B1 (ko) 다중 후보를 이용한 움직임 벡터 병합 탐색 방법
KR101493325B1 (ko) 정밀 움직임 예측을 기반으로 한 프레임 보간 장치 및 그 방법
JP5777311B2 (ja) 低解像度ビデオから高解像度ビデオを生成する方法
CN101494780B (zh) 进行视频处理的装置与视频处理方法
EP0734178A2 (en) Method and apparatus for determining true motion vectors for selected pixels
KR0182058B1 (ko) 움직임 추정을 위한 다중 해상도 순환 탐색 장치 및 그 방법
US20060098886A1 (en) Efficient predictive image parameter estimation
KR100499144B1 (ko) 적응적 양방향 움직임 추정 방법을 이용한 내삽 영상의움직임 벡터 생성 방법 및 장치
US10432962B1 (en) Accuracy and local smoothness of motion vector fields using motion-model fitting
JP3390024B2 (ja) 撮像された画像の中の動きの推定方法
JP3946781B2 (ja) 画像情報変換装置及び方法
Rajagopalan et al. Motion field modeling for video sequences
KR100243137B1 (ko) 옵티컬 플로우를 예측하는 국부 이장방법
KR0178230B1 (ko) 특징점에 의한 움직임 추정을 이용한 영상 처리 장치
JPH11203483A (ja) 画像処理装置および方法、並びに提供媒体
JP4140091B2 (ja) 画像情報変換装置および画像情報変換方法
Srinivas Rao et al. Block Matching Algorithms for the Estimation of Motion in Image Sequences: Analysis
JP2001224036A (ja) 動画像符号化装置
US6088397A (en) Method of estimation of motion between images
Mathai et al. Video frame interpolation using deep convolutional neural network

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130530

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee