KR101337206B1 - 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법. - Google Patents

블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법. Download PDF

Info

Publication number
KR101337206B1
KR101337206B1 KR1020070103196A KR20070103196A KR101337206B1 KR 101337206 B1 KR101337206 B1 KR 101337206B1 KR 1020070103196 A KR1020070103196 A KR 1020070103196A KR 20070103196 A KR20070103196 A KR 20070103196A KR 101337206 B1 KR101337206 B1 KR 101337206B1
Authority
KR
South Korea
Prior art keywords
motion vector
current block
motion
blocks
block
Prior art date
Application number
KR1020070103196A
Other languages
English (en)
Other versions
KR20090037716A (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 KR1020070103196A priority Critical patent/KR101337206B1/ko
Priority to US12/056,793 priority patent/US9167132B2/en
Publication of KR20090037716A publication Critical patent/KR20090037716A/ko
Application granted granted Critical
Publication of KR101337206B1 publication Critical patent/KR101337206B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • 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
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법이 개시된다. 움직임 추정 시스템은 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링하는 블록 샘플링부, 샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정하는 제1 움직임 벡터 결정부 및 샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 제2 움직임 벡터 결정부를 포함한다.
블록 샘플링, 움직임 추정, 프레임률 변환, 움직임 벡터, MAD

Description

블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법. {SYSTEM AND METHOD FOR MOSTION ESTIMATION OF IMAGE USING BLOCK SAMPLING}
본 발명은 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법에 관한 것으로, 구체적으로는 샘플링된 블록과 샘플링되지 않은 블록을 구분하여 움직임 추정을 수행하는 움직임 추정 시스템 및 방법에 관한 것이다.
입력 영상의 프레임률을 향상하는 데, 일반적으로 프레임간 움직임 추정 기법이 적용된다. 이 때, 종래의 움직임 추정 기법은 입력 영상의 각 프레임에 포함된 모든 블록에 대해 움직임 추정을 수행한다. 최근 영상 입출력 시스템의 발전에 따라 영상의 해상도가 증가하면서, 고 해상도 영상의 경우 움직임 추정 과정에서의 연산의 복잡도가 증가하게 되었다.
즉, 고해상도 영상의 경우, 처리해야 할 화소수가 많아지고, 이에 따라 각 화소별 움직임 추정을 위한 탐색 영역도 함께 증가한다. 결국, 처리해야 할 화소 및 탐색 영역의 증가로 인해서, 연산의 복잡도가 증가하는 것이다. 예를 들어, FHD(Full High Definition) 보다 4배 이상의 해상도를 나타내는 UD(Ultra Definition) 해상도를 나타내는 영상에 대해 종래의 움직임 추정 기법을 적용하는 경우, 해상도 증가에 따른 화소수의 증가 및 움직임 추정을 위한 탐색 영역의 크기가 각각 4배 이상 증가한다. 결국, 해상도가 4배 증가할 경우, 기존 움직임 추정 알고리즘을 동일하게 적용하는 것을 가정할 때, 총 연산량은 16배 이상 증가하게 되어 연산 처리에 많은 시간과 비용이 필요하게 된다.
따라서, 입력된 영상이 고해상도 영상의 경우, 프레임률 변환을 위한 움직임 추정 과정에서, 정확도가 높으면서도 처리해야 할 연산량을 줄일 수 있는 방법이 절실히 요구되고 있다.
본 발명은 격자 구조에 따라 블록을 샘플링하여, 샘플링된 블록에 대해서는 움직임 추정 과정을 적용하고, 샘플링 되지 않은 블록에 대해서는 인접 블록의 움직임 벡터로 움직임 벡터 값을 결정하는 움직임 추정 시스템 및 방법을 제공한다.
본 발명은 샘플링된 블록에 대해서 인접하는 블록의 움직임 벡터를 후보로 하여 움직임 추정을 수행함으로써, 움직임 추정에서 필요한 연산량을 줄일 수 있는 블록 샘플링을 이용한 움직임 추정 시스템 및 방법을 제공한다.
본 발명은 샘플링되지 않은 블록에 대해, 프레임별로 가변하는 격자 구조의 현재 및 이전 프레임에서, 현재 블록과 인접하는 블록의 움직임 벡터를 이용하여 현재 블록의 움직임 벡터를 보간함으로써, 움직임 추정의 오류를 줄일 수 있는 블록 샘플링을 이용한 움직임 추정 시스템 및 방법을 제공한다.
본 발명은 빠르고 정확한 움직임 추정 기법을 제공함으로써, 영상의 프레임률을 효과적으로 향상시킬 수 있는 움직임 추정 시스템 및 방법을 제공한다.
본 발명의 일실시예에 따른 움직임 추정 시스템은 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링하는 블록 샘플링부, 샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정하는 제1 움직임 벡터 결정부 및 샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 제2 움직임 벡터 결정부를 포함한다.
본 발명의 일측면에 따르면, 상기 제1 움직임 벡터 결정부는 상기 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 움직임 추정 오류를 계산하는 움직임 추정 오류 계산부 및 상기 움직임 추정 오류와 미리 설정한 임계치를 비교하여 상기 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 결정 유형 설정부를 포함한다.
본 발명의 일측면에 따르면, 상기 제2 움직임 벡터 결정부는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 지 여부를 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정할 수 있다.
본 발명의 일측면에 따르면, 상기 제2 움직임 벡터 결정부는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하지 않는 경우, 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 보간하여 상기 제2 현재 블록의 움직임 벡터를 결정할 수 있다.
본 발명의 일실시예에 따른 움직임 추정 방법은 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링하는 단계, 샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정하는 단계 및 샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 단계를 포함한다.
본 발명의 일측면에 따르면, 상기 복수 개의 블록을 격자 구조에 따라 샘플링하는 상기 단계는 입력 영상의 홀수 프레임 및 짝수 프레임 별로 가변하는 격자 구조에 따라 상기 복수 개의 블록들을 샘플링할 수 있다.
본 발명의 일측면에 따르면, 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 상기 단계는 상기 움직임 추정 오류가 미리 설정한 임계치 초과하는 경우, 탐색 영역을 이용하는 결정 유형으로 설정할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 본 발명의 일실시예에 따른 움직임 추정 방법은 움직임 추정 시스템에 의해 수행될 수 있다. 각 도면에 제시된 동일한 도면부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 있어서, 블록 샘플링을 이용한 움직임 추정 시스템의 구성을 도시한 블록 다이어그램이다.
도 1을 참조하면, 움직임 추정 시스템(101)은 블록 샘플링부(102), 제1 움직임 벡터 결정부(103) 및 제2 움직임 벡터 결정부(104)를 포함한다. 바람직한 실시예로, 본 발명의 일실시예에 따른 움직임 추정 시스템(101)은 영상의 프레임률을 향상시키는 데 사용될 수 있다. 구체적으로 보면, 움직임 추정 시스템(101)을 통해 영상의 프레임에 포함된 블록마다 움직임 벡터를 결정하고, 결정된 움직임 벡터를 보간하여 새로운 중간 프레임을 생성함으로써 영상의 프레임률이 향상될 수 있다.
블록 샘플링부(102)는 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링할 수 있다. 이 때, 격자 구조에 따라 샘플링하는 경우 프레임 전체를 샘플링하는 경우에 비해 25% 정도의 블록을 샘플링하기 때문에, 전체적인 연산량을 감소시킬 수 있다. 다시 말해서, 영상의 해상도가 증가하여 처리해야 할 화소가 증가하더라도, 블록 샘플링부(102)는 실질적으로 격자 구조에 따라 샘플링된 블록을 대상으로 움직임 추정을 수행하게 된다. 결국, 영상의 해상도가 증가하더라도 실제 사용되는 화소는 1/4 수준으로 감소하여 움직임 추정에 있어 연산의 복잡도는 감소할 수 있다.
일례로, 블록 샘플링부(102)는 입력 영상의 홀수 프레임 및 짝수 프레임 별로 가변하는 격자 구조에 따라 복수 개의 블록들을 샘플링할 수 있다. 현재 프레임에서 샘플링되지 않은 블록도 다음 프레임에서는 샘플링되어 움직임 추정이 적용되므로, 추후에 움직임 벡터를 보간할 때 정확도가 높아질 수 있다. 블록 샘플링부(102)의 구체적인 동작은 도 3을 통해 상세히 설명된다.
제1 움직임 벡터 결정부(103)는 샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정할 수 있다. 이 때, 제1 현재 블록은 현재 프레임 내에 샘플링된 블록 중 움직임 추정을 수행되고 있는 블록을 의미할 수 있다.
구체적으로, 제1 움직임 벡터 결정부(103)는 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 움직임 추정 오류를 계산할 수 있다. 이 때, 움직임 추정 오류는 MAD(Mean Absolute Difference: 평균 절대값 오차)로 표현될 수 있 다.
제1 움직임 벡터 결정부(103)는 계산된 움직임 추정 오류와 미리 설정한 임계치를 비교하여 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정할 수 있다. 이 때, 결정 유형은 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하는 결정 유형 및 탐색 영역을 이용하는 결정 유형을 포함한다. 만약, 결정 유형이 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하는 결정 유형인 경우, 움직임 추정 오류를 계산하는 과정을 그대로 이용하여 제1 현재 블록의 움직임 벡터를 결정할 수 있기 때문에 움직임 추정에 필요한 연산량을 줄일 수 있다. 제1 움직임 벡터 결정부(103)의 구체적인 동작은 도 4를 통해 상세히 설명된다.
제2 움직임 벡터 결정부(104)는 샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정할 수 있다. 이 때, 제2 현재 블록은 현재 프레임 내에 샘플링되지 않은 블록 중 움직임 추정이 수행되고 있는 블록을 의미할 수 있다. 그리고, 제2 현재 블록과 인접하는 샘플링된 블록들은 제1 움직임 벡터 결정부(103)를 통해 움직임 벡터가 결정된 블록들을 의미할 수 있다.
제2 움직임 벡터 결정부(104)는 인접하는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 지 여부를 고려하여 제2 현재 블록의 움직임 벡터를 결정할 수 있다.
이 때, 인접하는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하지 않는 경우, 샘플링된 블록들은 제2 현재 블록과 상관성 이 높은 것으로 예측할 수 있다.
따라서, 이 경우 인접하는 샘플링된 블록의 움직임 벡터를 보간하여 샘플링되지 않은 제2 현재 블록의 움직임 벡터를 결정할 수 있다. 즉, 별도의 움직임 추정을 하지 않고, 인접하는 블록의 움직임 벡터를 간단한 연산 과정을 통해 보간함으로써 연산량을 줄일 수 있다.
또한, 인접하는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 하는 경우, 샘플링된 블록들 중에서 객체(object)의 경계를 포함할 가능성이 높은 블록이 존재하는 것으로 예측할 수 있다. 이 경우에도, 상기 언급한 것과 같이, 단순히 인접하는 샘플링된 블록의 움직임 벡터를 보간하면, 결정된 움직임 벡터는 해당 블록의 실제 움직임 방향과 많은 차이가 날 수 있다.
따라서, 움직임 추정의 오차를 줄이기 위해, 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 통해 별도로 움직임 추정을 수행하여, 제2 현재 블록의 움직임 벡터를 결정할 수 있다. 제2 움직임 벡터 결정부(104)의 구체적인 동작은 도 5를 통해 구체적으로 설명된다.
도 2는 본 발명의 일실시예에 있어서, 움직임 추정 시스템의 제1 움직임 벡터 결정부와 제2 움직임 벡터 결정부의 수행 과정을 구체적으로 도시한 도면이다.
도 2를 참조하면, 제1 움직임 벡터 결정부(103)는 샘플링된 블록에 대해 움직임 벡터를 결정할 수 있다. 또한, 제2 움직임 벡터 결정부(104)는 샘플링되지 않은 블록에 대해 움직임 벡터를 결정할 수 있다. 앞에서 언급했듯이, 블록 샘플 링부(101)은 짝수 및 홀수 프레임 프레임 별로 가변하는 격자 구조에 따라 복수 개의 블록을 샘플링할 수 있다.
제1 움직임 벡터 결정부(103)는 샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정할 수 있다. 도 2를 참조하면, 제1 움직임 벡터 결정부(103)는 움직임 추정 오류 계산부(201)및 결정 유형 설정부(202)를 포함할 수 있다.
이 때, 움직임 추정 오류 계산부(201)는 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 움직임 추정 오류를 계산할 수 있다. 움직임 추정 오류 계산부(201)는 프레임 전체의 블록을 대상으로 움직임 추정 오류를 계산하는 것이 아니라 제1 현재 블록과 인접하는 블록들을 대상으로 움직임 추정 오류를 계산한다. 따라서, 움직임 추정 오류를 계산할 때 연산량이 많이 감소할 수 있다.
이 때, 움직임 추정 오류는 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 계산한 MAD가 최소인 값을 의미한다. 다시 말해서, MAD는 탐색 영역 내에서 블록간의 유사함 정도를 의미한다. 즉, MAD가 작을수록, 제1 현재 블록과 인접하는 블록은 제1 현재 블록과 상관도가 높다는 것을 예측할 수 있다. MAD는 하기 수학식 1에 따라 계산될 수 있다.
Figure 112007073386110-pat00001
여기서, I는 각 화소에서의 영상 값을 나타낸다. 일례로, 움직임 추정 오류 계산부(201)는 블록의 왼쪽 상단에서 시작하여, 하나의 블록 전체에 대해 각 화소별로 움직임 추정 오차를 계산할 수 있다. 제1 현재 블록과 인접하는 블록들은 일반적으로 제1 현재 블록과 상관도가 높게 도출되기 때문에, 움직임 추정 오류를 계산할 때 사용될 수 있다. 제1 현재 블록과 인접하는 블록들은 제1 현재 블록의 움직임 추정을 수행하기 전에, 샘플링된 블록 중 이미 움직임 벡터가 결정된 블록을 의미한다. 제1 현재 블록과 인접하는 블록들의 위치는 도 4에서 구체적으로 언급된다.
그리고, 결정 유형 설정부(202)는 움직임 추정 오류와 미리 설정한 임계치를 비교하여 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정할 수 있다. 일례로, 결정 유형 설정부(202)는 움직임 추정 오류가 미리 설정한 임계치 이하인 경우, 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하는 결정 유형으로 설정할 수 있다. 반대로, 결정 유형 설정부(202)는 움직임 추정 오류가 미리 설정한 임계치 초과하는 경우, 탐색 영역을 이용하는 결정 유형으로 설정할 수 있다. 이하에서, 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하는 결정 유형을 TYPE 1으로 정의하고, 탐색 영역을 이용하는 결정 유형을 TYPE 2로 정의하기로 하겠다.
결정 유형이 TYPE 1인 경우, 움직임 추정 오류가 미리 설정한 임계치보다 작음을 의미한다. 즉, 제1 현재 블록과 인접하는 샘플링된 블록 사이에 상관성이 높다고 추정할 수 있다. 프레임 내에서 동일한 객체 내에 속한 블록들은 일반적으 로 동일한 움직임 벡터가 되어야 한다.
따라서, 프레임 내의 샘플링된 블록들은 대부분 결정 유형이 TYPE 1으로 설정될 수 있다. TYPE 1에 따라 제1 현재 블록의 움직임 벡터를 결정하면, 움직임 추정 오류를 계산할 때 연산한 과정을 그대로 이용할 수 있기 때문에 보다 빠르게 연산이 수행될 수 있다.
제1 현재 블록과 인접하는 블록의 움직임 벡터를 이용하여 제1 현재 블록의 움직임 벡터를 결정하면, 블록간에 움직임 벡터의 상관성이 유지되어 블록킹 아티팩트(blocking artifact)가 감소할 수 있다. 또한, 탐색 영역 내에서 최적화된 움직임을 찾기 위해 반복적인 MAD 계산도 수행할 필요가 없으며, 제1 현재 블록과 인접하는 소수의 블록을 대상으로 움직임 추정을 수행하여 연산량도 감소시킬 수 있는 효과가 있다.
반대로, 결정 유형이 TYPE 2인 경우, 움직임 추정 오류가 미리 설정한 임계치보다 큰 것을 의미한다. 즉, 제1 현재 블록은 새로운 움직임이 발생하는 객체의 경계를 포함할 가능성이 높은 블록으로 예측할 수 있다. 다시 말해서, 제1 현재 블록은 인접하는 샘플링된 블록과 다른 움직임을 가지는 블록일 가능성이 높다. 이 경우, 제1 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터를 그대로 이용하는 경우 움직임 추정의 오류가 커질 수 있다.
결국, 결정 유형이 TYPE 2인 경우, 제1 움직임 벡터 결정부(103)는 탐색 영역을 이용하여 제1 현재 블록의 움직임 벡터를 결정할 수 있다. 본 발명에 따르면, 탐색 영역은 제1 현재 블록과 인접하는 샘플링된 블록의 움직임 벡터를 초기값 으로 하여, 이를 중심으로 국부적인 영역으로 설정될 수 있다. 즉, 인접 블록의 초기 움직임 벡터값에 따라 국부적인 탐색 영역을 설정 하여 제1 현재 블록의 움직임 벡터를 결정하면, 초기 움직임 벡터값에 의해서 블록 간에 공간적인 상관성이 유지될 수 있다.
이 때, 탐색 영역은 제1 현재 블록과 인접하는 블록을 중심으로 설정되고, 상기 블록의 움직임 벡터의 크기에 따라 영역의 크기가 가변 할 수 있다. 일례로, 제1 현재 블록과 인접하는 블록의 움직임 벡터의 크기가 작을 수록 탐색 영역은 커진다. 즉, 제1 현재 블록과 인접하는 블록의 움직임 벡터가 작은 경우, 상대적으로 넓은 탐색 영역에서 움직임 추정을 수행하여 급격한 움직임 벡터의 변화에 대응할 수 있다.
따라서, 제1 움직임 벡터 결정부(103)는 결정 유형 설정부(202)에서 설정한 결정 유형(TYPE 1 또는 TYPE 2)에 따라 움직임 추정을 수행하여 제1 현재 블록의 움직임 벡터를 결정할 수 있다.
제2 움직임 벡터 결정부(104)는 샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정할 수 있다. 이 때, 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성은 샘플링된 블록들의 움직임 벡터가 어떤 결정 유형을 통해 결정되었는 지를 나타낸다.
도 2에서 볼 수 있듯이, 본 발명에 따르면, 제2 움직임 벡터 결정부(104)는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하 는 지 여부를 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정할 수 있다.
이 때, 제2 움직임 벡터 결정부(104)는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하지 않는 경우, 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 보간하여 제2 현재 블록의 움직임 벡터를 결정할 수 있다. 즉, 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터 전부가 제1 움직임 벡터 결정부(103)에서 TYPE 1로 결정된 것을 의미한다.
다시 말해서, 제2 현재 블록과 인접한 블록들의 움직임 벡터 중 TYPE 2로 결정된 움직임 벡터가 존재하지 않는 것은, 상기 인접한 블록들과 제2 현재 블록이 동일한 움직임 벡터를 가지는 객체 내에 포함될 가능성이 높다는 것을 의미한다. 따라서, 별도의 움직임 추정 과정을 적용하지 않고, 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터를 보간하여 제2 현재 블록의 움직임 벡터를 결정할 수 있다. 움직임 벡터를 보간하는 과정은 도 5를 통해 구체적으로 설명된다.
반대로, 제2 움직임 벡터 결정부(104)는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 경우, 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 통해 별도로 움직임 추정을 수행하여 제2 현재 블록의 움직임 벡터를 결정할 수 있다.
즉, 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 것은, 제2 현재 블록과 인접하는 블록들 중에 새로운 움직임이 발생하는 객체의 경계를 포함할 가능성이 높은 블록이 존재하는 것을 의미한다. 이 경우, 단순히 인접하는 블록들의 움직임 벡터를 보간하여 제2 현재 블록의 움직임 벡 터를 결정하면, 움직임 추정의 결과에 오류가 많이 발생할 수 있다. 따라서, 제2 움직임 벡터 결정부(104)는 별도로 움직임 추정을 수행하여 움직임 벡터를 결정함으로써, 움직임 추정의 정확도를 높일 수 있다.
도 3은 본 발명의 일실시예에 있어서, 짝수 및 홀수 프레임 프레임 별로 가변하는 격자 구조에 따라 복수 개의 블록들을 샘플링하는 과정을 도시한 도면이다.
앞에서 이미 언급했듯이, 블록 샘플링부(102)는 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링할 수 있다. 또한, 블록 샘플링부(102)는 프레임 전체를 격자 구조로 샘플링함으로써, 프레임에 포함된 블록 전체를 샘플링할 때보다 움직임 추정시 필요한 연산량을 1/4로 줄일 수 있다.
일례로, 블록 샘플링부(102)는 입력 영상의 짝수 프레임(301) 및 홀수 프레임(302)별로 가변하는 격자 구조에 따라 복수 개의 블록들을 샘플링할 수 있다. 도 3을 참조하면, 짝수 프레임(301)과 홀수 프레임(302)는 각각 격자 구조 형태가 다르다. 예를 들어, 블록 샘플링부(102)는 하기 수학식 2에 따라 짝수 프레임(301)에 포함된 복수 개의 블록을 샘플링할 수 있다.
Figure 112007073386110-pat00002
여기서, i는 블록의 x축 좌표이며, j는 y축 좌표를 의미한다. 즉, 블록 샘 플링부(102)는 짝수 프레임(301)에 대해 (0,0) (0,2), (2,0), (2,4) 등과 같이, x와 y의 좌표가 모두 짝수일 때 해당 좌표의 블록을 샘플링할 수 있다. 반대로, 블록 샘플링부(102)는 홀수 프레임(302)에 대해 (1,1), (1,7), (3,5) 등과 같이 x와 y의 좌표가 모두 홀수일 때, 해당 좌표의 블록을 샘플링할 수 있다. 동일한 위치의 블록에 대해, 프레임에 따라 가변하는 격자 구조 때문에 샘플링되거나 또는 샘플링되지 않을 수 있다.
짝수 프레임(301) 및 홀수 프레임(302) 별로 격자 구조가 가변 하기 때문에, 제2 움직임 벡터 결정부(104)가 보간할 때 이용할 수 있는 제2 현재 블록과 인접하는 블록들의 개수가 증가하게 되고, 결국 움직임 추정의 신뢰성이 향상될 수 있다.
도 4는 본 발명의 일실시예에 있어서, 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 도시한 도면이다.
움직임 추정 오류 계산부(201)는 제1 현재 블록(403)에 인접하는 샘플링된 블록(404, 405, 406)의 움직임 벡터를 이용하여 움직임 추정 오류를 계산할 수 있다. 샘플링된 블록(404, 405, 406)은 제1 현재 블록(403)과 상관성이 높게 나타나기 때문에, 움직임 추정 오류 계산부(201)가 움직임 추정 오류를 계산할 때 이용될 수 있다. 제1 현재 블록의 움직임 벡터를 결정할 때 사용하는 샘플링된 블록의 위치와 개수는 제한되지 않는다.
도 4를 참조하면, 움직임 벡터에 대한 결정 유형이 TYPE 1으로 설정된 프레임(401)과 움직임 벡터에 대한 결정 유형이 TYPE 2로 설정된 프레임(402)가 도시되 어 있다.
제1 움직임 벡터 결정부(201)는 결정 유형이 TYPE 1으로 설정된 경우, 제1 현재 블록(403)과 인접하는 샘플링된 블록(404, 405, 406)의 움직임 벡터를 이용하여 제1 현재 블록(403)의 움직임 벡터를 결정할 수 있다. 이 때, 유형이 TYPE 1으로 설정된 경우, 제1 움직임 벡터 결정부(201)는 하기 수학식 3에 따라 제1 현재 블록(403)의 움직임 벡터를 결정할 수 있다.
Figure 112007073386110-pat00003
여기서,
Figure 112007073386110-pat00004
는 제1 현재 블록(403)을 의미하고,
Figure 112007073386110-pat00005
는 i값에 따라 제1 현재 블록(403)과 인접하는 샘플링된 블록(404, 405, 406)을 의미한다. 즉, MAD값이 최소인 블록의 움직임 벡터를 제1 현재 블록(403)의 움직임 벡터로 결정할 수 있다.
제1 움직임 벡터 결정부(201)는 결정 유형이 TYPE 2으로 설정된 경우, 탐색 영역(407)을 이용하여 제1 현재 블록(403)의 움직임 벡터를 결정할 수 있다. 이 때, 유형이 TYPE 2로 설정된 경우, 제1 움직임 벡터 결정부(201)는 하기 수학식 4에 따라 제1 현재 블록(403)의 움직임 벡터를 결정할 수 있다.
Figure 112007073386110-pat00006
여기서,
Figure 112007073386110-pat00007
는 제1 현재 블록(403)을 의미하고,
Figure 112007073386110-pat00008
는 i값에 따라 제1 현재 블록(403)과 인접하는 샘플링된 블록(404, 405, 406)을 의미한다. 또한,
Figure 112007073386110-pat00009
는 샘플링된 블록(404, 405, 406) 중 어느 하나의 블록을 중심으로 설정된 국부적인 탐색 영역을 의미한다. 본 발명에 따르면, 탐색 영역(407)은 제1 현재 블록(403)과 인접하는 샘플링된 블록(404, 405, 406) 중 하나의 블록을 중심으로 설정되었기 때문에, 제1 현재 블록(403)과 공간적인 상관성이 유지될 수 있다.
이 때, 탐색 영역(407)은 샘플링된 블록(404, 405, 406) 중 하나의 블록의 움직임 벡터의 크기에 따라 영역의 크기가 가변 될 수 있다. 앞에서 언급했듯이, 움직임 벡터의 크기가 작을 수록, 탐색 영역(407)의 크기가 크게 설정될 수 있다. 즉, 샘플링된 블록(404, 405, 406)의 움직임 벡터의 크기가 작을수록,
Figure 112007073386110-pat00010
의 크기는 커질 수 있다.
결국, 제1 움직임 벡터 결정부(103)는 결정 유형이 TYPE 2인 경우, 탐색 영역(407) 내에서 MAD가 최소가 되는 블록의 움직임 벡터를 제1 현재 블록(403)의 움직임 벡터로 결정할 수 있다.
도 5는 본 발명의 일실시예에 있어서, 인접하는 블록들의 움직임 벡터를 보간하여 제2 현재 블록의 움직임 벡터를 결정하는 과정을 도시한 도면이다.
도 5를 참조하면, 이전 프레임(501)과 현재 프레임(502)가 도시되어 있다. 제2 움직임 벡터 결정부(104)는 샘플링되지 않은 제2 현재 블록(504)과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록(504)의 움 직임 벡터를 결정할 수 있다. 이 때, 제2 움직임 벡터 결정부(104)는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 지 여부를 고려하여 제2 현재 블록(504)의 움직임 벡터를 결정할 수 있다.
일례로, 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 지 여부는 현재 프레임(502)에서 샘플링되지 않은 제2 현재 블록(504)에 인접하는 블록들을 이용하여 판단될 수 있다. 현재 프레임(502)에서 샘플링되지 않은 제2 현재 블록(504)과 인접하는 블록은 블록 1, 블록 2, 블록 3 및 블록 4를 의미한다. 즉, 블록 1, 블록 2, 블록 3 및 블록 4은 샘플링된 블록으로 이미 움직임 벡터가 결정된 블록을 의미한다.
블록 1, 블록 2, 블록 3 및 블록 4 중 어느 하나의 블록의 움직임 벡터가 TYPE 2를 통해 결정된 경우, 제2 움직임 벡터 결정부(104)는 별도의 움직임 추정을 통해 제2 현재 블록(504)의 움직임 벡터를 결정할 수 있다. 즉, 블록 1, 블록 2, 블록 3 및 블록 4 중 어느 하나의 블록의 움직임 벡터가 TYPE 2를 통해 결정된 것은 객체의 경계를 포함할 가능성이 높은 블록이 존재하는 것을 의미하기 때문이다.
블록 1, 블록 2, 블록 3 및 블록 4 중 어느 하나의 블록의 움직임 벡터가 TYPE 2를 통해 결정되지 않았다면, 제2 움직임 벡터 결정부(104)는 제2 현재 블록(504)과 인접하는 블록들의 움직임 벡터를 보간하여 제2 현재 블록(504)의 움직임 벡터를 결정할 수 있다.
일례로, 제2 움직임 벡터 결정부는 현재 프레임(502)의 블록 1, 블록 2, 블록 3 및 블록 4뿐만 아니라, 이전 프레임(501)의 블록 5, 블록 6, 블록 7, 블록 8 및 블록 9의 움직임 벡터를 보간하여 제2 현재 블록(504)의 움직임 벡터를 결정할 수 있다. 도 5의 도면 부호(503)은 제2 현재 블록(504)의 움직임 벡터를 결정하기 위해 사용되는 제2 현재 블록과 시간적 및 공간적으로 인접하는 블록들을 나타낸다.
일례로, 제2 움직임 벡터 결정부(104)는 현재 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터 및 이전 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 가중치에 따라 평균하여 보간할 수 있다. 이 때, 제2 움직임 벡터 결정부(104)는 하기 수학식 5에 따라 보간할 수 있다.
Figure 112007073386110-pat00011
여기서,
Figure 112007073386110-pat00012
는 제2 현재 블록(504)이고,
Figure 112007073386110-pat00013
는 각 블록의 움직임 벡터이다. 또한,
Figure 112007073386110-pat00014
는 현재 프레임(502)에서 제2 현재 블록(504)와 인접하는 블록들 각각의 가중치이고,
Figure 112007073386110-pat00015
는 이전 프레임(501)에서 제2 현재 블록과 인접하는 블록들 각각의 가중치이며,
Figure 112007073386110-pat00016
는 가중치의 총 합이다.
블록 샘플링부(102)에서 홀수 프레임 및 짝수 프레임 별로 가변하는 격자 구조에 따라 복수 개의 블록을 샘플링하기 때문에, 제2 현재 블록(504)은 현재 프 레임(502)에서 샘플링되지 않아도, 이전 프레임(501)에서 동일한 위치의 블록이 샘플링될 수 있다. 즉, 샘플링되지 않은 제2 현재 블록(504)도 동일한 위치의 샘플링된 블록을 통해 보간하여 움직임 벡터가 결정될 수 있기 때문에, 움직임 추정의 신뢰성을 향상시킬 수 있다.
도 6은 본 발명의 일실시예에 있어서, 블록 샘플링을 이용한 움직임 추정 방법을 도시한 동작 흐름도이다.
본 발명의 일실시예에 따른 움직임 추정 방법은 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링한다(S601).
이 때, 복수 개의 블록을 격자 구조에 따라 샘플링하는 단계(S601)는 입력 영상의 홀수 프레임 및 짝수 프레임 별로 가변하는 격자 구조에 따라 상기 복수 개의 블록들을 샘플링할 수 있다.
본 발명의 일실시예에 따른 움직임 추정 방법은 샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정한다(S602).
이 때, 제1 현재 블록의 움직임 벡터를 결정하는 단계(S602)는 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 움직임 추정 오류를 계산하는 단계 및 상기 움직임 추정 오류와 미리 설정한 임계치를 비교하여 상기 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 단계를 포함한다.
이 때, 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 단계는 상기 움직임 추정 오류가 미리 설정한 임계치 이하인 경우, 상기 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하는 결정 유형으로 설정할 수 있다.
또한, 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 단계는 상기 움직임 추정 오류가 미리 설정한 임계치 초과하는 경우, 탐색 영역을 이용하는 결정 유형으로 설정할 수 있다.
이 때, 탐색 영역은 제1 현재 블록과 인접하는 블록을 중심으로 설정되고, 상기 블록의 움직임 벡터의 크기에 따라 영역의 크기가 가변 될 수 있다.
본 발명의 일실시예에 따른 움직임 추정 방법은 샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정한다(S603).
이 때, 제2 현재 블록의 움직임 벡터를 결정하는 단계(S603)는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 지 여부를 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정할 수 있다.
또한, 제2 현재 블록의 움직임 벡터를 결정하는 단계(S603)는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하지 않는 경우, 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 보간하여 상기 제2 현재 블록의 움직임 벡터를 결정할 수 있다.
이 때, 제2 현재 블록의 움직임 벡터를 결정하는 단계(S603)는 현재 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터 및 이전 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 가중치에 따라 평균하여 보 간할 수 있다.
이 때, 가중치는 상기 제2 현재 블록과 인접하는 블록의 움직임 벡터의 방향 및 크기에 따라 가변 될 수 있다.
이 때, 제2 현재 블록의 움직임 벡터를 결정하는 단계(S603)는 샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 경우, 탐색 영역을 통한 움직임 추정을 적용하여 상기 제2 현재 블록의 움직임 벡터를 결정할 수 있다.
도 6에 도시된 단계에 관하여 설명되지 아니한 내용은 도 1 내지 도 5를 통하여 이미 설명한 바와 같으므로 이하 생략한다.
또한 본 발명의 일실시예에 따른 움직임 추정 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하 는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
도 1은 본 발명의 일실시예에 있어서, 블록 샘플링을 이용한 움직임 추정 시스템의 구성을 도시한 블록 다이어그램이다.
도 2는 본 발명의 일실시예에 있어서, 움직임 추정 시스템의 제1 움직임 벡터 결정부와 제2 움직임 벡터 결정부의 수행 과정을 구체적으로 도시한 도면이다.
도 3은 본 발명의 일실시예에 있어서, 짝수 프레임 및 홀수 프레임 프레임 별로 가변하는 격자 구조에 따라 복수 개의 블록들을 샘플링하는 과정을 도시한 도면이다.
도 4는 본 발명의 일실시예에 있어서, 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 인접하는 블록들의 움직임 벡터를 보간하여 제2 현재 블록의 움직임 벡터를 결정하는 과정을 도시한 도면이다.
도 6은 본 발명의 일실시예에 있어서, 블록 샘플링을 이용한 움직임 추정 방법을 도시한 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
101: 움직임 추정 시스템
102: 블록 샘플링부
103: 제1 움직임 벡터 결정부
104: 제2 움직임 벡터 결정부

Claims (23)

  1. 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링하는 블록 샘플링부;
    샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정하는 제1 움직임 벡터 결정부; 및
    샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 제2 움직임 벡터 결정부
    를 포함하고,
    상기 블록 샘플링부는,
    입력 영상의 홀수 프레임 프레임 및 짝수 프레임별로 가변하는 격자 구조에 따라 상기 복수 개의 블록들을 샘플링하는 움직임 추정 시스템.
  2. 삭제
  3. 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링하는 블록 샘플링부;
    샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정하는 제1 움직임 벡터 결정부; 및
    샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 제2 움직임 벡터 결정부
    를 포함하고,
    상기 제1 움직임 벡터 결정부는,
    상기 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 움직임 추정 오류를 계산하는 움직임 추정 오류 계산부; 및
    상기 움직임 추정 오류와 미리 설정한 임계치를 비교하여 상기 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 결정 유형 설정부
    를 포함하는 움직임 추정 시스템.
  4. 제3항에 있어서,
    상기 결정 유형 설정부는,
    상기 움직임 추정 오류가 미리 설정한 임계치 이하인 경우, 상기 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하는 결정 유형으로 설정하는 것을 특징으로 하는 움직임 추정 시스템.
  5. 제3항에 있어서,
    상기 결정 유형 설정부는,
    상기 움직임 추정 오류가 미리 설정한 임계치 초과하는 경우, 탐색 영역을 이용하는 결정 유형으로 설정하는 것을 특징으로 하는 움직임 추정 시스템.
  6. 제5항에 있어서,
    상기 탐색 영역은,
    상기 제1 현재 블록과 인접하는 블록을 중심으로 설정되고, 상기 블록의 움 직임 벡터의 크기에 따라 영역의 크기가 가변되는 것을 특징으로 하는 움직임 추정 시스템.
  7. 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링하는 블록 샘플링부;
    샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정하는 제1 움직임 벡터 결정부; 및
    샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 제2 움직임 벡터 결정부
    를 포함하고,
    상기 제2 움직임 벡터 결정부는,
    샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 지 여부를 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 시스템.
  8. 제7항에 있어서,
    상기 제2 움직임 벡터 결정부는,
    샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하지 않는 경우, 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 보간하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 시스템.
  9. 제8항에 있어서,
    상기 제2 움직임 벡터 결정부는,
    현재 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터 및 이전 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 가중치에 따라 평균하여 보간하는 것을 특징으로 하는 움직임 추정 시스템.
  10. 제9항에 있어서,
    상기 가중치는,
    상기 제2 현재 블록과 인접하는 블록의 움직임 벡터의 방향 및 크기에 따라 가변되는 것을 특징으로 하는 움직임 추정 시스템.
  11. 제7항에 있어서,
    상기 제2 움직임 벡터 결정부는,
    샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 경우, 탐색 영역을 통한 움직임 추정을 적용하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 시스템.
  12. 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링하는 단계
    샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정하는 단계; 및
    샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 단계
    를 포함하고,
    복수 개의 블록을 격자 구조에 따라 샘플링하는 상기 단계는,
    입력 영상의 홀수 프레임 및 짝수 프레임 별로 가변하는 격자 구조에 따라 상기 복수 개의 블록들을 샘플링하는 것을 특징으로 하는 움직임 추정 방법.
  13. 삭제
  14. 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링하는 단계
    샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정하는 단계; 및
    샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 단계
    를 포함하고,
    제1 현재 블록의 움직임 벡터를 결정하는 상기 단계는,
    상기 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 움직임 추정 오류를 계산하는 단계; 및
    상기 움직임 추정 오류와 미리 설정한 임계치를 비교하여 상기 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 단계
    를 포함하는 움직임 추정 방법.
  15. 제14항에 있어서,
    제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 상기 단계는,
    상기 움직임 추정 오류가 미리 설정한 임계치 이하인 경우, 상기 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하는 결정 유형으로 설정하는 것을 특징으로 하는 움직임 추정 방법.
  16. 제14항에 있어서,
    제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 상기 단계는,
    상기 움직임 추정 오류가 미리 설정한 임계치 초과하는 경우, 탐색 영역을 이용하는 결정 유형으로 설정하는 것을 특징으로 하는 움직임 추정 방법.
  17. 제16항에 있어서,
    상기 탐색 영역은,
    상기 제1 현재 블록과 인접하는 블록을 중심으로 설정되고, 상기 블록의 움직임 벡터의 크기에 따라 영역의 크기가 가변되는 것을 특징으로 하는 움직임 추정 방법.
  18. 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링하는 단계
    샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정하는 단계; 및
    샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 단계
    를 포함하고,
    제2 현재 블록의 움직임 벡터를 결정하는 상기 단계는,
    샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 지 여부를 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 방법.
  19. 제18항에 있어서,
    제2 현재 블록의 움직임 벡터를 결정하는 상기 단계는,
    샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하지 않는 경우, 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 보간하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 방법.
  20. 제19항에 있어서,
    제2 현재 블록의 움직임 벡터를 결정하는 상기 단계는,
    현재 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터 및 이전 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 가중치에 따라 평균하여 보간하는 것을 특징으로 하는 움직임 추정 방법.
  21. 제20항에 있어서,
    상기 가중치는,
    상기 제2 현재 블록과 인접하는 블록의 움직임 벡터의 방향 및 크기에 따라 가변되는 것을 특징으로 하는 움직임 추정 방법.
  22. 제18항에 있어서,
    제2 현재 블록의 움직임 벡터를 결정하는 상기 단계는,
    샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 경우, 탐색 영역을 통한 움직임 추정을 적용하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 방법.
  23. 제12항, 제14항 내지 제22항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020070103196A 2007-10-12 2007-10-12 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법. KR101337206B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070103196A KR101337206B1 (ko) 2007-10-12 2007-10-12 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법.
US12/056,793 US9167132B2 (en) 2007-10-12 2008-03-27 System and method of estimating motion of image using block sampling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070103196A KR101337206B1 (ko) 2007-10-12 2007-10-12 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법.

Publications (2)

Publication Number Publication Date
KR20090037716A KR20090037716A (ko) 2009-04-16
KR101337206B1 true KR101337206B1 (ko) 2013-12-06

Family

ID=40534157

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070103196A KR101337206B1 (ko) 2007-10-12 2007-10-12 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법.

Country Status (2)

Country Link
US (1) US9167132B2 (ko)
KR (1) KR101337206B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013142775A (ja) * 2012-01-11 2013-07-22 Sony Corp 表示装置、電子機器、表示方法、並びにプログラム
KR101767927B1 (ko) * 2012-11-01 2017-08-17 한화테크윈 주식회사 실시간 움직임 검출 방법 및 시스템
KR101541077B1 (ko) * 2014-04-07 2015-07-31 아주대학교산학협력단 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법
KR101589725B1 (ko) * 2014-07-30 2016-01-28 엘아이지넥스원 주식회사 이동물체에서 획득한 영상에서의 프레임 간 영상 보간 방법
US11875516B2 (en) 2020-12-28 2024-01-16 Waymo Llc Systems, apparatus, and methods for retrieving image data of image frames

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050080862A (ko) * 2004-02-11 2005-08-18 삼성전자주식회사 중첩된 블록 기반 움직임 추정에 의한 움직임 보상 보간방법 및 그를 적용한 프레임 레이트 변환 장치
KR20050119285A (ko) * 2004-06-16 2005-12-21 삼성전자주식회사 하이브리드 블록기반 움직임 추정장치 및 그 방법
KR20060025930A (ko) * 2004-09-18 2006-03-22 삼성전자주식회사 하이브리드 블록 매칭 기반의 움직임 추정 방법 및 그를적용한 프레임 레이트 변환 장치

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873573A (en) * 1986-03-19 1989-10-10 British Broadcasting Corporation Video signal processing for bandwidth reduction
US5398068A (en) * 1993-09-02 1995-03-14 Trustees Of Princeton University Method and apparatus for determining motion vectors for image sequences
DE69423166T2 (de) * 1993-09-08 2000-07-06 Thomson Consumer Electronics Verfahren und Vorrichtung zur Bewegungsauswertung mit Blockübereinstimmung
KR0126871B1 (ko) 1994-07-30 1997-12-29 심상철 양방향 이동벡터 추정을 위한 고속 블럭정합 방식
US5696848A (en) * 1995-03-09 1997-12-09 Eastman Kodak Company System for creating a high resolution image from a sequence of lower resolution motion images
EP1274252A3 (en) * 1995-08-29 2005-10-05 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
EP0874523B1 (en) * 1997-04-24 2004-03-03 STMicroelectronics S.r.l. Method for motion-estimated and compensated field rate up-conversion (FRU) for video applications, and device for actuating such a method
KR100281462B1 (ko) 1998-03-30 2001-02-01 전주범 격행 부호화에서 이진 형상 신호의 움직임 벡터 부호화 방법
JP3855522B2 (ja) * 1999-02-23 2006-12-13 松下電器産業株式会社 動画変換装置
KR100635009B1 (ko) 1999-10-15 2006-10-16 삼성전자주식회사 화면 전체의 움직임을 고려한 움직임예측방법 및 그 장치
US6711211B1 (en) 2000-05-08 2004-03-23 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
KR100727910B1 (ko) * 2000-10-11 2007-06-13 삼성전자주식회사 하이브리드형 고속 움직임 추정 방법 및 그 장치
US7801215B2 (en) * 2001-07-24 2010-09-21 Sasken Communication Technologies Limited Motion estimation technique for digital video encoding applications
JP2003153279A (ja) * 2001-11-15 2003-05-23 Mitsubishi Electric Corp 動き探索装置、その方法およびそのコンピュータ・プログラム
US7362374B2 (en) * 2002-08-30 2008-04-22 Altera Corporation Video interlacing using object motion estimation
NO318167B1 (no) 2002-11-27 2005-02-14 Tandberg Telecom As Vektorprediksjon
KR200311325Y1 (ko) 2003-01-10 2003-04-26 노홍빈 쿠션형 안마기
KR100510136B1 (ko) 2003-04-28 2005-08-26 삼성전자주식회사 참조 픽처 결정 방법, 그 움직임 보상 방법 및 그 장치
JP4575370B2 (ja) * 2003-05-02 2010-11-04 エヌエックスピー ビー ヴィ ビデオアーチファクトを低減するためのバイアスされた動きベクトル補間
KR100846780B1 (ko) 2003-11-10 2008-07-16 삼성전자주식회사 움직임 벡터 추정 방법 및 장치
DE602004030993D1 (de) 2004-04-30 2011-02-24 Panasonic Corp Bewegungsschätzung unter Verwendung von adaptiven räumlichen Verfeinerungsvektoren
US20050259878A1 (en) * 2004-05-20 2005-11-24 Broadcom Corporation Motion estimation algorithm
KR100716992B1 (ko) 2005-02-04 2007-05-10 삼성전자주식회사 스테레오 영상 부호화 및 복호화 방법과 그 장치
WO2006104366A1 (en) * 2005-04-01 2006-10-05 Lg Electronics Inc. Method for scalably encoding and decoding video signal
US8228992B2 (en) * 2007-10-12 2012-07-24 Broadcom Corporation Method and system for power-aware motion estimation for video processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050080862A (ko) * 2004-02-11 2005-08-18 삼성전자주식회사 중첩된 블록 기반 움직임 추정에 의한 움직임 보상 보간방법 및 그를 적용한 프레임 레이트 변환 장치
KR20050119285A (ko) * 2004-06-16 2005-12-21 삼성전자주식회사 하이브리드 블록기반 움직임 추정장치 및 그 방법
KR20060025930A (ko) * 2004-09-18 2006-03-22 삼성전자주식회사 하이브리드 블록 매칭 기반의 움직임 추정 방법 및 그를적용한 프레임 레이트 변환 장치

Also Published As

Publication number Publication date
US20090097562A1 (en) 2009-04-16
KR20090037716A (ko) 2009-04-16
US9167132B2 (en) 2015-10-20

Similar Documents

Publication Publication Date Title
US8204124B2 (en) Image processing apparatus, method thereof, and program
US8736767B2 (en) Efficient motion vector field estimation
JP4404095B2 (ja) テンプレートマッチングのための方法、その装置及びそのためのプログラムを記録した記録媒体
JP5777311B2 (ja) 低解像度ビデオから高解像度ビデオを生成する方法
EP1734480A1 (en) Image processing device and method, recording medium, and program
EP1841234A2 (en) Apparatus for creating interpolation frame
KR101337206B1 (ko) 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법.
US20120093231A1 (en) Image processing apparatus and image processing method
US20110050993A1 (en) Motion estimating method and image processing apparatus
JP2009212969A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
KR102126511B1 (ko) 보충 정보를 이용한 영상 프레임의 보간 방법 및 장치
KR101033243B1 (ko) 객체 추적 방법 및 장치
JP6056766B2 (ja) 動きベクトル推定装置、動きベクトル推定方法及び動きベクトル推定用プログラム
TW201345262A (zh) 影像處理電路及影像處理方法
EP2362655B1 (en) Motion-vector estimation
US20120176536A1 (en) Adaptive Frame Rate Conversion
KR101517360B1 (ko) 픽셀의 휘도 정보에 기초한 영상 향상 장치 및 방법
WO2012066866A1 (ja) 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法
US10846826B2 (en) Image processing device and image processing method
KR20080066486A (ko) 움직임 벡터 추정 장치 및 방법
EP4293611A1 (en) Object detection device, method, and program
KR101033242B1 (ko) 줌 환경을 고려한 객체 추적 방법 및 장치
KR20090022377A (ko) 움직임 추정과 움직임 보상을 이용한 동영상의 프레임률변환 시스템 및 방법
US9471992B2 (en) Moving image processing apparatus, moving image processing method, and computer product
JP4295227B2 (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
FPAY Annual fee payment

Payment date: 20161018

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 5