KR20090037716A - 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법. - Google Patents
블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법. Download PDFInfo
- Publication number
- KR20090037716A KR20090037716A KR1020070103196A KR20070103196A KR20090037716A KR 20090037716 A KR20090037716 A KR 20090037716A KR 1020070103196 A KR1020070103196 A KR 1020070103196A KR 20070103196 A KR20070103196 A KR 20070103196A KR 20090037716 A KR20090037716 A KR 20090037716A
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- current block
- motion
- blocks
- block
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/014—Conversion 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
본 발명은 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법에 관한 것으로, 구체적으로는 샘플링된 블록과 샘플링되지 않은 블록을 구분하여 움직임 추정을 수행하는 움직임 추정 시스템 및 방법에 관한 것이다.
입력 영상의 프레임률을 향상하는 데, 일반적으로 프레임간 움직임 추정 기법이 적용된다. 이 때, 종래의 움직임 추정 기법은 입력 영상의 각 프레임에 포함된 모든 블록에 대해 움직임 추정을 수행한다. 최근 영상 입출력 시스템의 발전에 따라 영상의 해상도가 증가하면서, 고 해상도 영상의 경우 움직임 추정 과정에서의 연산의 복잡도가 증가하게 되었다.
즉, 고해상도 영상의 경우, 처리해야 할 화소수가 많아지고, 이에 따라 각 화소별 움직임 추정을 위한 탐색 영역도 함께 증가한다. 결국, 처리해야 할 화소 및 탐색 영역의 증가로 인해서, 연산의 복잡도가 증가하는 것이다. 예를 들어, 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에 따라 계산될 수 있다.
여기서, 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)에 포함된 복수 개의 블록을 샘플링할 수 있다.
여기서, 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)의 움직임 벡터를 결정할 수 있다.
여기서, 는 제1 현재 블록(403)을 의미하고, 는 i값에 따라 제1 현재 블록(403)과 인접하는 샘플링된 블록(404, 405, 406)을 의미한다. 즉, MAD값이 최소인 블록의 움직임 벡터를 제1 현재 블록(403)의 움직임 벡터로 결정할 수 있다.
제1 움직임 벡터 결정부(201)는 결정 유형이 TYPE 2으로 설정된 경우, 탐색 영역(407)을 이용하여 제1 현재 블록(403)의 움직임 벡터를 결정할 수 있다. 이 때, 유형이 TYPE 2로 설정된 경우, 제1 움직임 벡터 결정부(201)는 하기 수학식 4에 따라 제1 현재 블록(403)의 움직임 벡터를 결정할 수 있다.
여기서, 는 제1 현재 블록(403)을 의미하고, 는 i값에 따라 제1 현재 블록(403)과 인접하는 샘플링된 블록(404, 405, 406)을 의미한다. 또한, 는 샘플링된 블록(404, 405, 406) 중 어느 하나의 블록을 중심으로 설정된 국부적인 탐색 영역을 의미한다. 본 발명에 따르면, 탐색 영역(407)은 제1 현재 블록(403)과 인접하는 샘플링된 블록(404, 405, 406) 중 하나의 블록을 중심으로 설정되었기 때문에, 제1 현재 블록(403)과 공간적인 상관성이 유지될 수 있다.
이 때, 탐색 영역(407)은 샘플링된 블록(404, 405, 406) 중 하나의 블록의 움직임 벡터의 크기에 따라 영역의 크기가 가변 될 수 있다. 앞에서 언급했듯이, 움직임 벡터의 크기가 작을 수록, 탐색 영역(407)의 크기가 크게 설정될 수 있다. 즉, 샘플링된 블록(404, 405, 406)의 움직임 벡터의 크기가 작을수록, 의 크기는 커질 수 있다.
결국, 제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에 따라 보간할 수 있다.
여기서, 는 제2 현재 블록(504)이고, 는 각 블록의 움직임 벡터이다. 또한, 는 현재 프레임(502)에서 제2 현재 블록(504)와 인접하는 블록들 각각의 가중치이고, 는 이전 프레임(501)에서 제2 현재 블록과 인접하는 블록들 각각의 가중치이며, 는 가중치의 총 합이다.
블록 샘플링부(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 움직임 벡터 결정부; 및샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 제2 움직임 벡터 결정부를 포함하는 움직임 추정 시스템.
- 제1항에 있어서,상기 블록 샘플링부는,입력 영상의 홀수 프레임 프레임 및 짝수 프레임별로 가변하는 격자 구조에 따라 상기 복수 개의 블록들을 샘플링하는 것을 특징으로 하는 움직임 추정 시스템.
- 제1항에 있어서,상기 제1 움직임 벡터 결정부는,상기 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 움직임 추정 오류를 계산하는 움직임 추정 오류 계산부; 및상기 움직임 추정 오류와 미리 설정한 임계치를 비교하여 상기 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 결정 유형 설정부를 포함하는 움직임 추정 시스템.
- 제3항에 있어서,상기 결정 유형 설정부는,상기 움직임 추정 오류가 미리 설정한 임계치 이하인 경우, 상기 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하는 결정 유형으로 설정하는 것을 특징으로 하는 움직임 추정 시스템.
- 제3항에 있어서,상기 결정 유형 설정부는,상기 움직임 추정 오류가 미리 설정한 임계치 초과하는 경우, 탐색 영역을 이용하는 결정 유형으로 설정하는 것을 특징으로 하는 움직임 추정 시스템.
- 제5항에 있어서,상기 탐색 영역은,상기 제1 현재 블록과 인접하는 블록을 중심으로 설정되고, 상기 블록의 움 직임 벡터의 크기에 따라 영역의 크기가 가변되는 것을 특징으로 하는 움직임 추정 시스템.
- 제1항에 있어서,상기 제2 움직임 벡터 결정부는,샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 지 여부를 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 시스템.
- 제7항에 있어서,상기 제2 움직임 벡터 결정부는,샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하지 않는 경우, 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 보간하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 시스템.
- 제8항에 있어서,상기 제2 움직임 벡터 결정부는,현재 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터 및 이전 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 가중치에 따라 평균하여 보간하는 것을 특징으로 하는 움직임 추정 시스템.
- 제9항에 있어서,상기 가중치는,상기 제2 현재 블록과 인접하는 블록의 움직임 벡터의 방향 및 크기에 따라 가변되는 것을 특징으로 하는 움직임 추정 시스템.
- 제7항에 있어서,상기 제2 움직임 벡터 결정부는,샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 경우, 탐색 영역을 통한 움직임 추정을 적용하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 시스템.
- 입력 영상의 프레임을 복수 개의 블록으로 분할하고, 상기 복수 개의 블록을 격자 구조에 따라 샘플링하는 단계샘플링된 블록에 대해 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 상기 제1 현재 블록의 움직임 벡터를 결정하는 단계; 및샘플링되지 않은 제2 현재 블록과 인접하는 샘플링된 블록들의 움직임 벡터의 속성을 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 단계를 포함하는 움직임 추정 방법.
- 제12항에 있어서,복수 개의 블록을 격자 구조에 따라 샘플링하는 상기 단계는,입력 영상의 홀수 프레임 및 짝수 프레임 별로 가변하는 격자 구조에 따라 상기 복수 개의 블록들을 샘플링하는 것을 특징으로 하는 움직임 추정 방법.
- 제12항에 있어서,제1 현재 블록의 움직임 벡터를 결정하는 상기 단계는,상기 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하여 움직임 추정 오류를 계산하는 단계; 및상기 움직임 추정 오류와 미리 설정한 임계치를 비교하여 상기 제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 단계를 포함하는 움직임 추정 방법.
- 제14항에 있어서,제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 상기 단계는,상기 움직임 추정 오류가 미리 설정한 임계치 이하인 경우, 상기 제1 현재 블록과 인접하는 블록들의 움직임 벡터를 이용하는 결정 유형으로 설정하는 것을 특징으로 하는 움직임 추정 방법.
- 제14항에 있어서,제1 현재 블록의 움직임 벡터에 대한 결정 유형을 설정하는 상기 단계는,상기 움직임 추정 오류가 미리 설정한 임계치 초과하는 경우, 탐색 영역을 이용하는 결정 유형으로 설정하는 것을 특징으로 하는 움직임 추정 방법.
- 제16항에 있어서,상기 탐색 영역은,상기 제1 현재 블록과 인접하는 블록을 중심으로 설정되고, 상기 블록의 움직임 벡터의 크기에 따라 영역의 크기가 가변되는 것을 특징으로 하는 움직임 추정 방법.
- 제12항에 있어서,제2 현재 블록의 움직임 벡터를 결정하는 상기 단계는,샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 지 여부를 고려하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 방법.
- 제18항에 있어서,제2 현재 블록의 움직임 벡터를 결정하는 상기 단계는,샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하지 않는 경우, 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 보간하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 방법.
- 제19항에 있어서,제2 현재 블록의 움직임 벡터를 결정하는 상기 단계는,현재 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터 및 이전 프레임에서 상기 제2 현재 블록과 인접하는 블록들의 움직임 벡터를 가중치에 따라 평균하여 보간하는 것을 특징으로 하는 움직임 추정 방법.
- 제20항에 있어서,상기 가중치는,상기 제2 현재 블록과 인접하는 블록의 움직임 벡터의 방향 및 크기에 따라 가변되는 것을 특징으로 하는 움직임 추정 방법.
- 제18항에 있어서,제2 현재 블록의 움직임 벡터를 결정하는 상기 단계는,샘플링된 블록들의 움직임 벡터 중 탐색 영역을 통해 결정된 움직임 벡터가 존재하는 경우, 탐색 영역을 통한 움직임 추정을 적용하여 상기 제2 현재 블록의 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 방법.
- 제12항 내지 제22항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
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 true KR20090037716A (ko) | 2009-04-16 |
KR101337206B1 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101541077B1 (ko) * | 2014-04-07 | 2015-07-31 | 아주대학교산학협력단 | 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법 |
KR101589725B1 (ko) * | 2014-07-30 | 2016-01-28 | 엘아이지넥스원 주식회사 | 이동물체에서 획득한 영상에서의 프레임 간 영상 보간 방법 |
Families Citing this family (3)
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 | 한화테크윈 주식회사 | 실시간 움직임 검출 방법 및 시스템 |
US11875516B2 (en) | 2020-12-28 | 2024-01-16 | Waymo Llc | Systems, apparatus, and methods for retrieving image data of image frames |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01500236A (ja) * | 1986-03-19 | 1989-01-26 | ブリティッシュ・ブロードキャスティング・コーポレーション | 帯域巾圧縮ビデオ信号の受信再生装置 |
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 |
DE69630643T2 (de) * | 1995-08-29 | 2004-10-07 | Sharp Kk | Videokodierungsvorrichtung |
DE69727911D1 (de) * | 1997-04-24 | 2004-04-08 | St Microelectronics Srl | Verfahren zur Erhöhung der bewegungsgeschätzten und bewegungskompensierten Bildfrequenz für Videoanwendungen, und Vorrichtung zur Verwendung eines solchen Verfahrens |
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 | 삼성전자주식회사 | 참조 픽처 결정 방법, 그 움직임 보상 방법 및 그 장치 |
CN100521790C (zh) * | 2003-05-02 | 2009-07-29 | Nxp股份有限公司 | 用于减少视频伪影的偏移运动矢量内插 |
KR100846780B1 (ko) | 2003-11-10 | 2008-07-16 | 삼성전자주식회사 | 움직임 벡터 추정 방법 및 장치 |
KR100565066B1 (ko) * | 2004-02-11 | 2006-03-30 | 삼성전자주식회사 | 중첩된 블록 기반 움직임 추정에 의한 움직임 보상 보간방법 및 그를 적용한 프레임 레이트 변환 장치 |
EP1592258B1 (en) | 2004-04-30 | 2011-01-12 | Panasonic Corporation | Motion estimation employing adaptive spatial update vectors |
US20050259878A1 (en) * | 2004-05-20 | 2005-11-24 | Broadcom Corporation | Motion estimation algorithm |
KR20050119285A (ko) * | 2004-06-16 | 2005-12-21 | 삼성전자주식회사 | 하이브리드 블록기반 움직임 추정장치 및 그 방법 |
KR100644629B1 (ko) * | 2004-09-18 | 2006-11-10 | 삼성전자주식회사 | 하이브리드 블록 매칭 기반의 움직임 추정 방법 및 그를적용한 프레임 레이트 변환 장치 |
KR100716992B1 (ko) | 2005-02-04 | 2007-05-10 | 삼성전자주식회사 | 스테레오 영상 부호화 및 복호화 방법과 그 장치 |
KR101158437B1 (ko) * | 2005-04-01 | 2012-06-22 | 엘지전자 주식회사 | 스케일러블 비디오 신호 인코딩 및 디코딩 방법 |
US8228992B2 (en) * | 2007-10-12 | 2012-07-24 | Broadcom Corporation | Method and system for power-aware motion estimation for video processing |
-
2007
- 2007-10-12 KR KR1020070103196A patent/KR101337206B1/ko active IP Right Grant
-
2008
- 2008-03-27 US US12/056,793 patent/US9167132B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101541077B1 (ko) * | 2014-04-07 | 2015-07-31 | 아주대학교산학협력단 | 텍스쳐 기반 블록 분할을 이용한 프레임 보간 장치 및 방법 |
KR101589725B1 (ko) * | 2014-07-30 | 2016-01-28 | 엘아이지넥스원 주식회사 | 이동물체에서 획득한 영상에서의 프레임 간 영상 보간 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20090097562A1 (en) | 2009-04-16 |
US9167132B2 (en) | 2015-10-20 |
KR101337206B1 (ko) | 2013-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8204124B2 (en) | Image processing apparatus, method thereof, and program | |
JP4404095B2 (ja) | テンプレートマッチングのための方法、その装置及びそのためのプログラムを記録した記録媒体 | |
US8958484B2 (en) | Enhanced image and video super-resolution processing | |
JP5777311B2 (ja) | 低解像度ビデオから高解像度ビデオを生成する方法 | |
EP1734480A1 (en) | Image processing device and method, recording medium, and program | |
US8204123B2 (en) | Motion vector searching apparatus, motion vector searching method and storage medium for storing motion vector searching program | |
US20120093231A1 (en) | Image processing apparatus and image processing method | |
KR101337206B1 (ko) | 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법. | |
US20110050993A1 (en) | Motion estimating method and image processing apparatus | |
KR101347062B1 (ko) | 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법 | |
KR101033243B1 (ko) | 객체 추적 방법 및 장치 | |
KR20130023644A (ko) | 영상 프레임의 보간 방법 및 장치 | |
KR102126511B1 (ko) | 보충 정보를 이용한 영상 프레임의 보간 방법 및 장치 | |
TW201345262A (zh) | 影像處理電路及影像處理方法 | |
US10846826B2 (en) | Image processing device and image processing method | |
US20120176536A1 (en) | Adaptive Frame Rate Conversion | |
WO2012066866A1 (ja) | 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法 | |
KR20080066486A (ko) | 움직임 벡터 추정 장치 및 방법 | |
KR100969420B1 (ko) | 프레임 레이트 변환 방법 | |
CN103618904B (zh) | 基于像素的运动估计方法及装置 | |
EP4293611A1 (en) | Object detection device, method, and program | |
TWI768324B (zh) | 影像處理方法及影像處理裝置 | |
KR20090022377A (ko) | 움직임 추정과 움직임 보상을 이용한 동영상의 프레임률변환 시스템 및 방법 | |
US9471992B2 (en) | Moving image processing apparatus, moving image processing method, and computer product | |
US20090324115A1 (en) | Converting the frame rate of video streams |
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 |