KR101589492B1 - 다수의 재귀 규칙을 이용한 디지털 비디오의 움직임 추정 방법 및 시스템 - Google Patents

다수의 재귀 규칙을 이용한 디지털 비디오의 움직임 추정 방법 및 시스템 Download PDF

Info

Publication number
KR101589492B1
KR101589492B1 KR1020090008037A KR20090008037A KR101589492B1 KR 101589492 B1 KR101589492 B1 KR 101589492B1 KR 1020090008037 A KR1020090008037 A KR 1020090008037A KR 20090008037 A KR20090008037 A KR 20090008037A KR 101589492 B1 KR101589492 B1 KR 101589492B1
Authority
KR
South Korea
Prior art keywords
block
recursive
motion vector
video frame
motion estimation
Prior art date
Application number
KR1020090008037A
Other languages
English (en)
Other versions
KR20100003176A (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 삼성전자주식회사
Publication of KR20100003176A publication Critical patent/KR20100003176A/ko
Application granted granted Critical
Publication of KR101589492B1 publication Critical patent/KR101589492B1/ko

Links

Images

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
    • 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
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Television Systems (AREA)
  • Image Analysis (AREA)

Abstract

움직임 추정을 제공하는 방법 및 시스템이 개시된다. 재귀 움직임 추정(recursive motion estimation) 모듈이 상보적인 성능상 이점들이 있는 다수의 재귀 움직임 추정 규칙들을 이용한다. 선택 모듈이 비디오 프레임 내의 특정 블록에 어떤 규칙을 적용할지 결정하는 스위칭 방법을 제공한다.

Description

다수의 재귀 규칙을 이용한 디지털 비디오의 움직임 추정 방법 및 시스템{System and method for motion estimation of digital video using multiple recursion rules}
본 발명은 디스플레이 장치의 움직임 추정에 관한 것이다. 보다 상세하게는 프레임 데이터의 블록들에 대한 움직임 벡터(motion vector)들을 결정하는 방법 및 시스템에 관한 것이다.
최근 들어, 디지털 영상 처리의 발달로 인해 비디오 디스플레이 제조업자들은 디지털 비디오 원본을 향상시켜 보다 사실적인 시각 경험을 제공하는 시스템을 생산할 수 있게 되었다. 향상된 영상을 제공하기 위해 움직임 추정 알고리듬이 흔히 사용된다. 예를 들어, 비디오의 디인터레이싱, 비디오 포맷 변환 그리고 프레임율 변환을 수행할 때 움직임 추정 알고리듬이 흔히 사용된다. 다양한 움직임 추정 알고리듬들 중, 블록 정합 알고리듬(block matching algorithm)이 (상대적으로 낮은) 복잡도와 (대개 높은) 정확도간의 훌륭한 타협으로 인해 흔히 선택된다. 블록 정합 알고리듬은 일반적으로 한 비디오 프레임 내의 주어진 임의의 블록을 다른 비디오 프레임 내의 1 이상의 블록들과 비교하여 맞는 블록을 찾는다.
블록 정합 알고리듬의 한 카테고리로 재귀 검색 기술(recursive search technique)이 있다. 재귀 움직임 추정은 대개 비디오 프레임 내의 주어진 픽셀들의 블록에 대한 최적의 움직임 벡터를 결정하기 위해, 한정된 수의 움직임 벡터 후보들의 집합을 평가하는 단계를 포함한다. 재귀 검색 방법을 구현하기 위해, 평가할 움직임 벡터 후보들을 결정하는 특정 재귀 규칙이 일반적으로 선택된다. 각 재귀 규칙은 일정한 특성을 갖는다. 따라서, 특정 재귀 규칙을 사용하면 일정한 성능상 장단점을 얻는다. 예를 들어, 어떤 재귀 규칙은 일반적으로는 잘 동작하고 연산상 효율적지만 물체의 움직임에 급격한 변화가 있는 경우 부적합할 수 있다. 다른 재귀 규칙은 물체의 움직임에 급격한 변화가 있는 경우에 적합하지만 노이즈, 낮은 다이나믹 레인지, 다중 검출 등과 같은 문제에 민감할 수 있다. 따라서, 하나의 재귀 규칙만을 사용하는 것의 결점을 완화하도록 설계된 움직임 추정 기술을 제공하면 유용할 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명에 의한 장치의 비디오 프레임들간 움직임 추정을 제공하는 방법의 일 실시예는, 첫 번째 비디오 프레임을 수신하는 단계; 첫 번째 재귀 움직임 추정 규칙(recursive motion estimation rule)을 이용하여 상기 첫 번째 비디오 프레임 내의 첫 번째 블록에 대한 첫 번째 움직임 벡터를 추정하는 단계; 및 두 번째 재귀 움직임 추정 규칙을 이용하여 상기 첫 번째 비디오 프레임 내의 두 번째 블록에 대한 두 번째 움직임 벡터를 추정하는 단계를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한, 본 발명에 의한 움직임 추정 장치의 일 실시예는 첫 번째 비디오 프레임을 수신하는 수신부; 첫 번째 재귀 움직임 추정 규칙을 이용하여 상기 첫 번째 비디오 프레임 내의 첫 번째 블록에 대한 첫 번째 움직임 벡터를 추정하는 제1 추정부; 및 두 번째 재귀 움직임 추정 규칙을 이용하여 상기 첫 번째 비디오 프레임 내의 두 번째 블록에 대한 두 번째 움직임 벡터를 추정하는 제2 추정부를 포함하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한, 본 발명에 의한 장치의 비디오 프레임들간 움직임 추정을 제공하는 방법의 일 실시예는 복수의 블록들을 포함하는 첫 번째 비디오 프레임을 수신하는 단계; 및 복수의 재귀 움직임 추정 규칙들 중 하나를 상기 복수의 블록들 각각에 적용하여 각 블록에 대한 움직임 벡터를 추정하는 단계를 포함하며, 상기 비디오 프레임 내의 적어도 하나의 블록에 대한 움직임 벡터를 추정하기 위하여 상기 복수의 재귀 움직임 추정 규칙들 중 2 이상이 이용되는 것을 특징으로 한다.
여기 개시된 다양한 실시예들은, 서로 보완적인 장점을 갖는 재귀 움직임 추정 규칙들을 이용하고 그 규칙들을 번갈아 사용함으로써 정확하고 효율적인 움직임 추정 결과를 달성하는 디스플레이 장치의 움직임 추정을 제공하는 방법 및 시스템을 포함한다. 한 규칙의 약점이 드러나는 시나리오에서 두 번째 규칙의 강점이 드러나도록 규칙들을 설계할 수 있다. 특정 블록에 적용되는 재귀 규칙들이 프레임마다 번갈아 가며 바뀌어서 연산 자원에 대한 요구가 증가하지 않도록 할 수 있다. 둘 이상의 재귀 규칙들을 사용하는 이러한 종류의 재귀 방법을 이용함에 있어서, 각 개별 블록에 대하여 평가될 움직임 벡터 후보들의 수를 제한함으로써 재귀 움직임 추정의 연산상 효율이 유지된다. 그러나 동시에, 상보적인 재귀 규칙을 사용함으로써, 평가될 후보들의 범위가 시공간적으로 넓어져 더욱 정확한 움직임 추정 결과를 얻게 된다.
도 1은 여기에서 기술되는 하나 이상의 특징들을 구현하기에 적합한 디스플레이 장치(100)의 블록도의 일 예이다. 바람직하게는 디스플레이 장치(100)는 텔레비전, 컴퓨터 모니터, 휴대전화, PDA, 휴대용 컴퓨터, 또는 사용자가 이용할 수 있는 그래픽 디스플레이를 갖는 다른 연산 장치를 포함하는 다양한 종류의 오디오/비디오 장치들에 내장된 디스플레이이다.
디스플레이 장치(100)는 디스플레이(102)를 포함하는 다양한 구성요소를 포함한다. 디스플레이(102)는 다양한 종류의 디스플레이들 중 어떤 것이라도 될 수 있다. 일 실시예에서, 디스플레이(102)는 LCD 디스플레이일 수 있다. 다른 실시예에서, 디스플레이(102)는 플라즈마 디스플레이, CRT 디스플레이, DLP 프로젝터 또는 관련 기술 분야에 알려진 다른 디스플레이 종류일 수 있다. 또한 디스플레이 장치(100)는 프로세서(104)를 포함할 수 있다. 프로세서(104)는 다양한 프로세서들 중 어떤 것이라도 될 수 있다. 프로세서(104)는 그래픽 기능을 내장한 중앙 처리 장치(CPU)일 수 있다. 다른 종류의 프로세서(104)도 사용할 수 있다. 디스플레이 장치(100)는 컨트롤러(108)을 더 포함할 수 있다. 컨트롤러(108)는 일반적으로 프로세서(104)나 다른 내부 구성요소로부터 원본 영상 데이터를 수신한다. 데이터를 수신하면, 컨트롤러(108)는 원본 영상 데이터를 디스플레이(102)에 스캔하기에 적합한 포맷으로 변환하고 변환된 영상 데이터를 디스플레이(102)에 송신한다. 실시예에 따라, 컨트롤러(108)는 독립한 집적 회로(IC)로서 프로세서(104)에 결합될 수 있다. 그러나, 컨트롤러(108)는 다양한 방법으로 구현될 수 있다. 예를 들어, 컨트롤러(108)는 하드웨어로 프로세서(104)에 내장되거나, 소프트웨어로서 프로세서(104)에 내장되거나, 또는 하드웨어로 디스플레이(102) 자체와 통합될 수 있다.
또한 메모리(106)가 디스플레이 장치(100)에 포함된다. 메모리(106) 또한 다양한 형태가 될 수 있다. 일 실시예에서, 메모리(106)는 프로세서(104)와 컨트롤러(108) 중 하나나 모두에 포함된 전용 칩내장 메모리일 수 있다. 다른 실시예에서, 메모리(106)는 디스플레이 장치(100)에 포함된 다른 하드웨어 및 소프트웨어와 공유하는 범용 메모리일 수 있다. 메모리(106)는 DRAM, SRAM, VRAM, SDRAM 등의 램(random access memory; RAM)의 형태일 수 있고, 플래시 메모리와 같이 데이터 저장에 쓸 수 있는 다른 형태의 메모리일 수 있다.
도 1의 특정 구성을 참조하여 디스플레이 장치(100)의 일 예가 설명되었으나, 당업자라면 디스플레이 장치(100)는 다양한 형태와 구성을 취할 수 있음을 쉽게 알 수 있을 것이다. 또한, 디스플레이 장치(100)는 디스플레이 장치(100)에 일반적으로 적용할 수 있는 다양한 특징들을 제공하는 여기에 기술되지 않은 다양한 다른 시스템 구성요소들을 포함할 수 있다.
도 2a내지2b에 디스플레이(102)의 프레임(200)의 일 예가 도시되어 있다. 비디오 데이터는 일반적으로 비디오 프레임(200)들의 연속으로 디스플레이 장치(100) 에 표시된다. 각 프레임(200)은 블록(202)들의 배열로 분할될 수 있다. 블록(202)은 일반적으로 일정 크기를 갖는 픽셀들의 사각형 집단이다. 예를 들어, 디스플레이(102)의 각 프레임(200)은 도 2b에 도시된 것과 같은 16x16 픽셀 블록(202)으로 분할 될 수 있다. 다른 블록 사이즈 및/또는 모양이 사용될 수 있다.
도 3a내지3b에 프로세서(104)의 블록도의 일 예가 도시되어 있다. 도 3a에 나타나듯이, 프로세서(104)는 재귀 추정 모듈(300)을 포함할 수 있다. 재귀 추정 모듈(300)은 일반적으로 프레임 내의 블록들에 대한 움직임 벡터를 산출하기 위한 1 이상의 재귀 움직임 추정 알고리듬을 구현하도록 설정된 소프트웨어나 하드웨어의 형태를 취하며, 아래에서 도 3b를 참조하여 보다 상세히 설명된다. 프로세서(104)는 또한 명령 캐시(302)를 포함할 수 있다. 명령 캐시(302)는 관련 기술 분야에 알려져 있듯이 실행 명령을 더 빨리 가져오도록 하기 위해 사용될 수 있다. 데이터 캐시(304)는 프로세서(104)가 보다 효율적으로 데이터를 가져오고 메모리에 저장할 수 있도록 하는 메모리를 포함할 수 있다. 프로세서(104)는 또한 ALU (arithmetic logic unit; 산술 논리 장치)(306)를 포함할 수 있다. ALU(306)는 산술 및 논리 연산을 수행하는 디지털 회로일 수 있다. 일 실시예에서, ALU(306)는 재귀 추정 모듈(300)에 의해 제공되는 재귀 움직임 추정 알고리듬들을 구현하기 위해 필요한 산술 연산들의 수행을 맡을 수 있다.
도 3b는 재귀 추정 모듈(300)을 보다 상세하게 도시한 도면이다. 재귀 추정 모듈(300)은 한 프레임 내의 서로 다른 블록들에 서로 다른 재귀 규칙들을 적용하도록 설정될 수 있다. 일반적으로, 재귀 추정 모듈(300)은 디스플레이 프레임(200)의 맨 위에서 시작하여 아래로 내려가면서 블록 배열의 각 열을 왼쪽에서 오른쪽으로 블록 단위로 진행한다. 재귀 추정 모듈(300)은 현재 블록에 대한 최적의 움직임 벡터를 추정하기 위하여, 공간 및 시간적 주변 블록들에서 뽑은 한정된 수의 움직임 벡터 후보들의 집합을 평가하도록 설정될 수 있다. 여기서 현재 블록이란 프레임 내에서 현재 움직임 벡터를 추정하고 있는 블록을 말한다. 재귀 추정 모듈(300)에 의해 제공되는 재귀 규칙들은 현재 프레임과 직전 프레임 양쪽에 있는 주변 블록들의 움직임 벡터들을 평가함으로써 주어진 블록에 대한 움직임 벡터를 생성하기 때문에, 비디오 데이터 내의 다수의 프레임의 정보를 재귀 추정 모듈(300)에 제공할 필요가 있다. 이러한 접근을 제공하기 위해, 직전 비디오 프레임의 데이터(원본 프레임 데이터와 움직임 정보 등 다른 계산된 데이터)가 메모리(106) 또는 데이터 캐시(304)에 저장되어, 재귀 추정 모듈(300)이 이를 입수하여 그 프레임 데이터에 재귀 규칙들을 적용하도록 할 수 있다.
상기하였듯이, 재귀 추정 모듈(300)은 움직임 벡터를 결정하기 위해 1 이상의 재귀 알고리듬들이나 규칙들을 구현할 수 있다. 도 3b에 도시된 예에서, 재귀 추정 모듈(300)은 비디오 프레임을 수신하는 수신부(316)를 포함하며, 제1 추정부에서 구현되는 첫 번째 재귀 규칙(310)과 제2 추정부에서 구현되는 두 번째 재귀 규칙(312) (아래에서 상세히 설명됨), 두 재귀 규칙을 구현하도록 설정된다. 재귀 추정 모듈(300)은 또한 선택 논리부에서 구현되는 선택 논리(314)를 포함할 수 있다. 선택 논리(314)는 일반적으로 주어진 블록에 적용할 재귀 규칙을 결정하기 위해 사용된다. 일 실시예에서, 선택 논리(314)는 프레임마다 순서를 번갈아 바꾸면서, 재귀 규칙 310과 312 중 하나가 블록마다 번갈아 적용되도록 두 규칙들 간의 기본적 스위칭을 수행할 수 있다. 따라서, 한 프레임의 특정 블록에 첫 번째 재귀 규칙(310)이 적용된다면, 이어지는 프레임의 동일한 블록에 두 번째 재귀 규칙(312)이 적용된다.
재귀 추정 모듈(300)이 제공하는 재귀 규칙들은 그 장단점이 상호 보완적일 수 있다. 즉, 한 규칙에서의 단점이 다른 규칙에서의 대응하는 장점에 의해 벌충될 수 있다. 일 실시예에서, 첫 번째 재귀 규칙(310)은 상대적으로 평탄하고(smooth) 일관적인(coherent) 움직임 필드(motion field) 생성을 고려하여 현재 블록을 중심으로 3x3 시공간적 주변 블록들로부터 움직임 벡터 후보들을 뽑을 수 있다. 도 4에 첫 번째 재귀 규칙(310)에서 현재 블록에 대한 움직임 벡터를 추정하기 위해 사용될 수 있는 블록 집단(202)의 일 예가 도시되어 있다. 이 특정한 실시예에서, 블록 집단(202)은 블록 202(0) 내지 블록 202(8)을 포함하며, 블록 202(4)가 집단의 중 앙에 위치한 현재 블록이다.
현재 블록(202(4))에 대한 움직임 벡터를 추정함에 있어서, 첫 번째 재귀 규칙(310)은 현재 블록(202(4))에 대한 움직임 벡터를 결정하기 위해 각 주변 블록 202(0)-202(3) 및202(5)-202(8) 의 움직임 벡터들과 직전 프레임의 블록 202(4)의 움직임 벡터를 평가할 수 있다. 일반적으로는, 첫 번째 재귀 규칙(310)이 블록 202(0) 내지202(3)에 대해 사용하는 움직임 벡터들은 현재 프레임의 블록 202(0) 내지202(3)에 대해 기 계산된 움직임 벡터들임에 반해, 첫 번째 재귀 규칙(310)이 블록 202(4) 내지 202(8)에 대해 사용하는 움직임 벡터들은 메모리(106)에 저장되어 있는 직전 프레임의 움직임 벡터들일 수 있다. 블록 202(4) 내지 202(8)의 움직임 벡터들이 직전 프레임의 것인 이유는, 블록(202)들의 처리가 위에서 아래로, 왼쪽에서 오른쪽으로의 표준적인 방향으로 진행하기 때문이다. 물론, 블록들의 처리가 위에서 아래로, 왼쪽에서 오른쪽으로 진행하지 않는다면 첫 번째 재귀 규칙(310)이 사용하는 움직임 벡터들의 프레임 위치는 다를 수 있다.
도 5는 첫 번째 재귀 규칙(310)이 도 4의 블록 집단 202(0) 내지202(8)의 현재 블록(202(4))의 움직임 벡터 MVRME1을 결정하기 위해 사용하는 프로그램 논리의 일 예를 도시한다. 도면에서 볼 수 있듯이, mv0 내지 mv3은 프레임(200) 내의 기 처리된 블록들에 대한 움직임 벡터들이다. 움직임 추정은 일반적으로 프레임(200) 내에서 위에서 아래로, 왼쪽에서 오른쪽으로 블록 단위로 진행하기 때문에 움직임 벡터들 mv4 내지mv8 는 직전 프레임의 해당 블록에 대한 움직임 벡터들이다.
도 5의 프로그램 논리에서, 첫 번째 재귀 규칙(310)은 일반적으로 현재 블 록(202(4))에 적용된 각 움직임 벡터 mv0 내지mv8에 대한 오차 척도(error metric)를 계산하고, 그 오차 척도를 현재 블록(202(4))에 대한 MVRME1를 결정하는 데에 이용하도록 설정된다. 도 5에 도시된 특정 실시예에서, 첫 번째 블록 열 (202(0) 내지 202(2))에 연관된 움직임 벡터들(mv0내지 mv2)에 대한 오차 척도들 중에서 최적 오차 척도 값(best error metric value) 502(a)가 결정된다. 최적 오차 척도 값 502(b) 및 502(c)도 두 번째 블록 열202(3) 내지202(5)의 움직임 벡터들 mv3 내지 mv5 에 대해, 세 번째 블록 열202(6) 내지202(8)의 움직임 벡터들 mv6 내지 mv8에 대해 각각 결정된다. 유사하게, 최적 오차 척도 값 502(d), 502(e), 및 502(f) 가 블록 집단(202)의 각 행에 대한 움직임 벡터들에 대하여 결정된다. 구현 환경에 따라, 최적 오차 척도 값은 최소 오차 척도 값일 수도 있고 최대 오차 척도 값일 수도 있다.
일 실시예에서, 오차 척도 값들은 움직임 벡터 mvn 에 대하여 두 블록간 평균 절대 차이 (mean absolute difference; MAD)에 벌점(penalty) 값을 더한 함수로 결정된다. 이 함수는 다음 수학식 1로 표현될 수 있다.
Error Metric = MAD + Penalty
MAD 값은 다양한 방법으로 계산될 수 있다. 일 실시예에서, t1과 t2로 나타낸 프레임들에 존재하는 블록들을 연관시키는 움직임 벡터 mv = (dx, dy) 에 대한 MAD는 다음 수학식2에 따라 계산된다.
Figure 112009006398032-pat00001
여기서 는 t1으로 나타낸 프레임 내에서 왼쪽위 모서리가 에 있는 블록 내의 픽셀 를 나타낸다. 블록 내에서의 위치 는 그 블록의 시작 지점 를 나타낸다.
분산(variance)이 낮은 블록들의 움직임은 일반적으로 높은 신뢰도로 추정될 수 없다. 따라서 현재 블록의 움직임 벡터를 결정하는 데에 낮은 분산을 갖는 주변 블록들의 기여는 억제하는 것이 바람직하다. 이는 낮은 분산에 대해 높은 벌점을 갖고 높은 분산에 대해 낮은 벌점을 갖도록 블록 분산에 종속되는 벌점 항(penalty term)을 오차 척도에 포함시킴으로써 달성할 수 있다. 결과적으로, 낮은 분산을 갖는 블록의 오차 척도가 증가하여, 그 열/행에서 해당하는 움직임 벡터가 뽑힐 가능성이 줄어들게 된다. 따라서, 수학식 1의 벌점 항 Penalty는 다음 수학식3에 의해 구현될 수 있다.
Figure 112009006398032-pat00002
여기서 k는 학습적으로 결정된 상수이고 s는 다음 수학식 4를 이용하여 계산될 수 있는 블록 분산의 근사값이다.
Figure 112009006398032-pat00003
최적 오차 척도 값502(a), 502(b), 502(c)에 해당하는 움직임 벡터는, 첫 번째 중앙 움직임 벡터 값을 출력하는 중앙치 필터 모듈(506)에 입력된다. 중앙치 필터 모듈(506)은 성분별 중앙치(median)를 계산한다. 예를 들어, 세 개의 움직임 벡터의 x-입력들(수평 변위에 해당)과, 세 개의 움직임 벡터의 y-입력들(수직 변위에 해당)로부터 개별적인 중앙치가 각각 결정된다. 이 두 중앙치는 하나의 움직임 벡터로 결합되어 선택 서브모듈(510)로 출력된다. 최적 오차 척도 값502(d), 502(e), 502(f) 에 해당하는 움직임 벡터 또한 중앙치 필터 모듈(506)로 전달되고, 두 번째 중앙 움직임 벡터 값이 결정되어 선택 서브모듈(510)로 출력된다. 선택 서브모듈(510)은 중앙치 필터 모듈(506)들로부터 수신한 두 움직임 벡터들 중 최저 오차에 해당하는 움직임 벡터를 선택하여 이를 MVRME1로서 출력한다.
도 6은 도 5에서 보여준 첫 번째 재귀 규칙(310)을 이용하여 움직임 벡터를 얻는 과정을 도시한 흐름도의 일 예이다. 이 과정은 재귀 추정 모듈(300)이 현재 블록(202(4))으로 이동하는 S600 단계에서 시작한다. S602 단계에서, 재귀 추정 모듈(300)은 현재 블록을 중심으로 하는 3x3 블록 격자에 속하는 시공간적으로 위치한 블록들 각각으로부터 움직임 벡터를 수신한다. 격자의 중심 블록에 해당하는 위치(현재 블록과 같은 위치)에 대한 움직임 벡터는 저장된 직전 프레임의 움직임 벡터에서 가져올 수 있다. 다음으로 S604단계에서, 재귀 추정 모듈(300)은 상기 3x3 블록 격자의 각 블록 열로부터 뽑은 움직임 벡터들에 대해 최적 오차 척도에 해당하는 움직임 벡터들(한 열에 하나씩 모두 세 개의 움직임 벡터)를 결정한다. S606 단계로 진행하여 재귀 추정 모듈(300)은 중간 출력 움직임 벡터(intermediate output motion vector)를 결정한다. 이 중간 출력 움직임 벡터의 성분들은 S604 단계에서 얻은 세 개의 움직임 벡터의 성분들에 해당하는 중앙치들로 독립적으로 계산된다. S604 및 S606 단계에서 기술된 과정은 S608 단계에서 3x3 블록 격자의 (S604 단계에서 열들에 대해 수행한 것 대신) 블록 행들에 대하여 반복되어 두 번째 중간 출력 움직임 벡터를 얻는다. 일단 두 중간 출력 움직임 벡터들이 정해지면, S610 단계에서 선택 서브모듈(510)이 두 중간 출력 움직임 벡터들 중 더 낮은 MAD 값에 해당하는 움직임 벡터를 현재 블록의 최종 움직임 벡터 MVRME1으로 선택한다.
대부분의 재귀 움직임 추정 알고리듬이 그러하듯이, 첫 번째 재귀 규칙(310)는 특정한 성능상 장단점을 갖는다는 것에 유의할 것이다. 이 규칙의 중앙치 선택 연산에 의해 그 결과가 노이즈에 상대적으로 강하며, 평탄하고 일관적인 움직임 필드를 생성하게 된다. 그러나, 첫 번째 재귀 규칙(310)의 이용은 특정한 성능상 결점을 야기한다. 우선, 움직임 벡터 후보들을 작은 3x3 주변 블록들로부터 뽑기 때문에 첫 번째 재귀 규칙(310)은 특정 방향으로 물체 움직임을 효율적으로 추적할 수 없다. 특히, 첫 번째 재귀 규칙(310)은 스캐닝 방향을 거슬러 움직이는 물체의 움직임을 잘 추적하지 못하는 경향이 있다. 또한, 빠르게 움직이는 물체와 작은 물체는 첫 번째 재귀 규칙(310)을 이용하여 잘 추적되지 않는다.
첫 번째 재귀 규칙(310)에 관한 성능상 단점을 얼마간 벌충하기 위해, 두 번째 재귀 규칙(312)의 성능상 장점이 첫 번째 재귀 규칙(310)의 성능상 단점을 벌충할 수 있도록 두 번째 재귀 규칙(312)을 설정할 수 있다. 일 실시예에서, 두 번째 재귀 규칙(312)은 현재 블록의 주변에서 비대칭 5x5 시공간적 주변 블록들로부터 움직임 벡터 후보들을 뽑을 수 있다. 움직임 벡터 후보들로부터, 아래에서 상세히 기술되는 최적 오차 척도에 해당하는 움직임 벡터를 선택한다. 이 규칙은 첫 번째 재귀 규칙(310)에 비하여 스캐닝 방향에 거슬러 움직이는 물체의 움직임을 추적하는 상당히 향상된 능력을 제공한다. 그러나, 첫 번째 재귀 규칙(310)과 비교하여 노이즈에 대한 안정성, 추정된 움직임 필드의 일관성과 평탄함 등 바람직한 속성들이 두 번째 재귀 규칙(312)에서는 부족하다.
도 7에 두 번째 재귀 규칙(312)에서 현재 블록에 대한 움직임 벡터를 추정하기 위해 사용될 수 있는 5x5 주변 블록 집단(202)의 일 예가 도시되어 있다. 이 특정한 예에서, 블록 집단은 블록들 202(0) 내지202(24)를 포함하며 202(7)이 현재 블록이다. 첫 번째 재귀 규칙(310)에서와 달리, 두 번째 재귀 규칙(312)에서의 현재 블록은 5x5 주변 블록 후보들의 중심에 위치할 필요가 없다.
현재 블록(202(7))의 움직임 벡터를 추정함에 있어서, 두 번째 재귀 규칙(312)는 블록들 202(0) 내지202(24)에서 뽑은 움직임 벡터 후보들을 평가할 수 있다. 첫 번째 재귀 규칙(310)에서와 같이, 현재 프레임 내에서 기 계산된 블록들에 대한 움직임 벡터들이 사용될 수 있으며(예를 들어 블록들 202(0) 내지202(6)), 직전 프레임에 대한 움직임 벡터들이 블록들 202(7) 내지202(24)에 관하여 사용될 수 있다.
도 8은 두 번째 재귀 규칙(312)에 의해 도 7에 나타난 블록 집단 202(0) 내지202(24)에서 현재 블록(202(7))에 대한 움직임 벡터 MVRME2를 결정하는 프로그램 논리의 일 예를 도시한 도면이다. 5x5주변 블록에서 아홉 개의 움직임 벡터 후보 mv0 내지mv8가 식별되어 있다. 실시예에 따라, 움직임 벡터 후보들은 무작위로 선택될 수 있다. 다른 방법으로, 움직임 벡터 후보들은 현재 블록의 특성에 기반하여 선택될 수 있다. 또한, 주변 블록들은 5x5주변 블록일 필요가 없으며, 다른 크기의 주변 블록들을 이용할 수 있다. 도면에 나타났듯이, mv0 내지 mv3는 프레임(200) 내에서 기 처리된 블록들에 대한 움직임 벡터들이다. 움직임 추정은 일반적으로 프레임(200) 내에서 블록 단위로 위에서 아래, 왼쪽에서 오른쪽으로 진행하기 때문에, 움직임 벡터들 mv4 내지mv8 는 직전 프레임의 해당하는 블록들의 움직임 벡터들이다. 두 번째 재귀 규칙(312)은 식별된 움직임 벡터 후보들(mv0내지mv8) 중에서 최적 오차 척도를 계산하고 해당하는 움직임 벡터를 MVRME2로 출력한다. 최적 오차 척도는 후보들 중에서 최저 MAD를 결정함으로써 계산될 수 있고, 또는 상술한 것과 같이 MAD와 벌점 값의 합을 이용할 수 있다.
첫 번째와 두 번째 재귀 규칙(310, 312)의 상보적 장점들을 이용하기 위하여, 선택 논리(314)는 연산 자원에 대한 요구를 최소화 하면서 동시에 각 재귀 규칙들의 성능상 단점들의 영향을 완화하도록 설정될 수 있다. 일 실시예에서, 선택 논리(314)는 규칙들이 행, 열, 프레임 단위로 순서가 바뀌면서 블록별로 번갈아 적용되도록 하는 스위칭 방법을 구현할 수 있다. 이러한 방법의 최종 결과로 어떤 블록 위치도 연속적인 프레임들에서 동일한 재귀 규칙을 이용하여 평가되지 않게 된다. 도 9a 및 9b는 이러한 스위칭 방법의 일 예를 도시한다. 도 9a는 첫 번째 프레임(N-1) 내의 블록들 202(0) 내지202(8)에 첫 번째 재귀 규칙(310)과 두 번째 재귀 규칙(312)이 적용되는 방법을 도시한다. 도시된 것과 같이, 첫 번째 재귀 규칙(310)은 블록 202(0), 202(2), 202(4), 202(6), 및 202(8)에 적용되고, 두 번째 재귀 규칙(312) 은 블록 202(1), 202(3), 202(5), 및 202(7)에 적용되는 식으로 재귀 규칙이 블록별로 번갈아 적용된다. 도 9b는 이어지는 프레임(N) 내의 같은 블록들 202(0) 내지202(8)에 스위칭 방법을 적용하는 것을 도시한다. 여기서, 재귀 규칙은 역시 블록별로 번갈아 적용된다. 그러나 이 이어지는 프레임에서는, 각 블록에 이전과 다른 규칙이 적용된다. 따라서 첫 번째 재귀 규칙(310)은 블록 202(1), 202(3), 202(5), 및 202(7)에 적용되고, 두 번째 재귀 규칙(312)은 블록202(0), 202(2), 202(4), 202(6), 및 202(8)에 적용된다.
주어진 블록에 적용되는 재귀 규칙을 프레임별로, 그리고 한 프레임 내에서 블록별로 번갈아 적용함으로써, 각 규칙들에 연관된 결점들이 크게 완화된다. 예를 들어, 첫 번째 재귀 규칙(310)에서 사용하는 3x3 주변 블록들 중 일부에 두 번째 재귀 규칙(312)이 적용되는 결과로, 3x3 주변 블록들 내에서 보다 좋은 움직임 벡터 후보들이 이용가능하게 되기 때문에 첫 번째 재귀 규칙(310)에 연관된 추적 능력에 관한 결점이 완화된다. 동시에, 두 번째 재귀 규칙(312)을 사용함으로써 발생할 수 있는 오차의 전파(propagation)를 첫 번째 재귀 규칙(310)에 의해 제공되는 중앙치 연산(예를 들면, 성분별 중앙치 선택)이 제한하기 때문에, 추정된 움직임 필드의 높은 평탄함과 일관성이 유지된다. 주어진 프레임 내에서 두 재귀 규칙 중 단 하나만이 각 블록(202)에 적용되기 때문에 연산 자원에 대한 요구는 증가하지 않으나, 각 규칙에 관련된 장점들은 활용된다.
도 10은 프레임에 선택 논리(314)가 적용되는 방법의 일 예의 흐름을 도시한 흐름도이다. S1002 단계에서 시작하여 재귀 추정 모듈(300)이 디스플레이의 현재 블록을 액세스한다. 다음으로 S1004 단계에서, 재귀 추정 모듈(300)은 어떤 재귀 규칙(예를 들면 첫 번째 재귀 규칙(310) 또는 두 번째 재귀 규칙(312))이 직전 프레임의 같은 블록에 적용되었는지 결정한다. S1006 단계로 진행하여, 만일 직전 프레임의 같은 블록(202)에 첫 번째 재귀 규칙(310)이 적용되었다면, S1008 단계로 이동하여 현재 프레임의 현재 블록에 두 번째 재귀 규칙(312)이 적용된다. 만일 직전 프레임의 같은 블록에 첫 번째 재귀 규칙(310)이 적용되지 않았다면, S1010 단계로 이동하여 첫 번째 재귀 규칙(310)이 적용된다. 도 10에 선택 논리(314)를 구현하기 위한 특정 과정이 제공되었지만, 선택 논리(314)는 다른 방법들로 구현될 수 있다는 것을 유념할 것이다. 예를 들어, 재귀 추정 모듈(300)은 직전 블록에 적용된 규칙을 추적하여 단순히 그와 다른 규칙을 현재 블록에 적용하도록 설정될 수 있다.
지금까지 설명된 실시예에서, 디스플레이 장치에서 연산 자원에 대한 요구를 크게 증가시키지 않으면서 정확히 추정된 움직임 필드를 산출하기 위해 서로 보완적인 다수의 재귀 움직임 추정 규칙들을 적용할 수 있도록 하는 움직임 추정을 제공하는 방법 및 시스템이 개시되었다. 이러한 실시예들은 이 발명을 한정하려는 것이 아니라 예시적인 것에 불과하며, 한정적인 관점이 아닌 설명적인 관점에서 고려되어야 한다. 본 명세서에 특정한 용어들이 사용되었으나 이는 단지 본 발명의 개념을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 청구범위에서 청구하는 본 발명의 본질적인 기술사상에서 벗어나지 않는 범위에서 본 발명의 원리를 구현하는 다양한 변형 형태 및 균등한 타 실시예로 구현될 수 있음을 이해할 수 있을 것이다. 예를 들면, 각 재귀 규칙들이 제공하는 상보적 장점들을 더욱 정련하기 위해 둘보다 많은 재귀 규칙들이 구현될 수 있다.
본 발명의 진정한 기술적 보호범위는 전술한 설명이 아니라 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 하며, 그와 동등한 범위 내에 있는 모든 구조적 및 기능적 균등물은 본 발명에 포함되는 것으로 해석되어야 할 것이다. 이러한 균등물은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 구성요소를 포함하는 것으로 이해되어야 한다.
도 1은 본 발명에 의한 다양한 실시예를 구현하기에 적합한 디스플레이 장치의 블록도의 일 예이다.
도 2a는 도 1에 나타난 디스플레이의 프레임의 일 예이다.
도 2b는 도 2a에 나타난 블록의 일 예이다.
도 3a는 도 1에 나타난 프로세서의 구성요소를 보여주는 블록도의 일 예이다.
도 3b는 도 3a에 나타난 재귀 추정 모듈의 하위 구성요소를 보여주는 블록도의 일 예이다.
도 4는 본 발명의 일 실시예에 의한 현재 블록을 중심으로 하는 움직임 벡터 후보들의 3x3 주변 블록들이다.
도 5는 본 발명의 일 실시예에 의한 첫 번째 재귀 움직임 추정 기술을 도시하는 블록도이다.
도 6은 도 5에서 도시한 재귀 움직임 추정 기술의 흐름을 도시한 흐름도이다.
도 7은 본 발명의 일 실시예에 의한 현재 블록 주위의 움직임 벡터 후보들의 비대칭 5x5 주변 블록들이다.
도 8은 본 발명의 일 실시예에 의한 두 번째 재귀 움직임 추정 기술을 도시하는 블록도이다.
도 9a 및 9b는 인접한 프레임들에 도 3b의 선택 로직이 구현되는 방법의 일 예이다.
도 10은 본 발명의 일 실시예에 의한 움직임 추정을 제공하는 방법의 흐름을 도시한 흐름도이다.

Claims (25)

  1. 하나의 장치에서 비디오 프레임들간 움직임 추정을 제공하는 방법에 있어서,
    첫 번째 비디오 프레임을 수신하는 단계;
    첫 번째 재귀 움직임 추정 규칙(recursive motion estimation rule)을 이용하여 상기 첫 번째 비디오 프레임 내의 첫 번째 블록에 대한 첫 번째 움직임 벡터(motion vector)를 추정하는 단계; 및
    상기 첫 번째 재귀 움직임 추정 규칙과는 다른 두 번째 재귀 움직임 추정 규칙을 이용하여 상기 첫 번째 비디오 프레임 내의 두 번째 블록에 대한 두 번째 움직임 벡터를 추정하는 단계를 포함하는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  2. 제 1항에 있어서,
    두 번째 비디오 프레임을 수신하는 단계;
    상기 두 번째 재귀 움직임 추정 규칙을 이용하여 상기 두 번째 비디오 프레임 내의 상기 첫 번째 블록에 대한 세 번째 움직임 벡터를 추정하는 단계; 및
    상기 첫 번째 재귀 움직임 추정 규칙을 이용하여 상기 두 번째 비디오 프레임 내의 상기 두 번째 블록에 대한 네 번째 움직임 벡터를 추정하는 단계를 더 포함하는 것을 특징으로 하는 장치의 비디오 프레임들간 움직임 추정을 제공하는 방법.
  3. 제 1항에 있어서, 상기 첫 번째 재귀 움직임 추정 규칙과 상기 두 번째 재귀 움직임 추정 규칙은 서로 보완적인 장점들을 갖는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  4. 제 1항에 있어서, 상기 첫 번째 비디오 프레임을 수신한 후,
    스캐닝 순서에 따라 상기 첫 번째 프레임 내의 첫 번째 블록을 액세스하는 단계; 및
    상기 스캐닝 순서에 따라 상기 첫 번째 프레임 내의 두 번째 블록을 액세스하는 단계를 더 포함하며,
    상기 스캐닝 순서에서 상기 두 번째 블록은 상기 첫 번째 블록을 바로 뒤따르는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  5. 제 4항에 있어서, 상기 두 번째 비디오 프레임을 수신한 후,
    상기 스캐닝 순서에 따라 상기 두 번째 프레임 내의 상기 첫 번째 블록을 액세스하는 단계; 및
    상기 스캐닝 순서에 따라 상기 두 번째 프레임 내의 상기 두 번째 블록을 액세스하는 단계를 더 포함하며,
    상기 스캐닝 순서에서 상기 두 번째 블록은 상기 첫 번째 블록을 바로 뒤따르는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  6. 제 1항에 있어서, 상기 첫 번째 재귀 움직임 추정 규칙을 이용하는 단계는
    공간적 주변 블록 및 시간적 주변 블록 중 적어도 하나의 블록으로부터 뽑은 1 이상의 움직임 벡터 후보를 평가하는 단계를 포함하는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  7. 제 6항에 있어서, 상기 공간적 주변 블록 및 시간적 주변 블록 중 적어도 하나의 블록은
    3x3 블록 격자를 형성하도록 상기 첫 번째 블록을 둘러싸는 8개의 블록들을 포함하는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  8. 제 7항에 있어서, 상기 첫 번째 재귀 움직임 추정 규칙을 이용하는 단계는
    평가되는 움직임 벡터 후보들 중에서 최적 오차 척도(best error metric)에 해당하는 움직임 벡터를 결정하는 단계를 더 포함하는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  9. 제 1항에 있어서, 상기 두 번째 재귀 움직임 추정 규칙을 이용하는 단계는
    비대칭의(asymmetrical) 공간적 주변 블록 및 시간적 주변 블록 중 적어도 하나의 블록들로부터 뽑은 움직임 벡터 후보들을 평가하는 단계를 포함하는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  10. 제 9항에 있어서, 상기 비대칭의 공간적 주변 블록 및 시간적 주변 블록 중 적어도 하나의 블록들은
    5x5 블록 격자를 포함하는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  11. 제 1항에 있어서,
    만약 상기 첫 번째 재귀 추정 규칙을 이용하여 상기 첫 번째 비디오 프레임 내의 한 블록에 대한 움직임 벡터가 추정되었다면, 상기 두 번째 재귀 추정 규칙을 이용하여 상기 두 번째 비디오 프레임 내의 동일한 블록에 대한 움직임 벡터를 추정하는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  12. 첫 번째 비디오 프레임을 수신하는 수신부;
    첫 번째 재귀 움직임 추정 규칙을 이용하여 상기 첫 번째 비디오 프레임 내의 첫 번째 블록에 대한 첫 번째 움직임 벡터를 추정하는 제1 추정부; 및
    상기 첫 번째 재귀 움직임 추정 규칙과는 다른 두 번째 재귀 움직임 추정 규칙을 이용하여 상기 첫 번째 비디오 프레임 내의 두 번째 블록에 대한 두 번째 움직임 벡터를 추정하는 제2 추정부를 포함하는 것을 특징으로 하는 움직임 추정 장치.
  13. 제 12항에 있어서,
    상기 수신부는 두 번째 비디오 프레임을 수신하고,
    상기 제2 추정부는 상기 두 번째 재귀 움직임 추정 규칙을 이용하여 상기 두 번째 비디오 프레임 내의 상기 첫 번째 블록에 대한 세 번째 움직임 벡터를 추정하 고,
    상기 제1 추정부는 상기 첫 번째 재귀 움직임 추정 규칙을 이용하여 상기 두 번째 비디오 프레임 내의 상기 두 번째 블록에 대한 네 번째 움직임 벡터를 추정하는 것을 특징으로 하는 움직임 추정 장치.
  14. 제 12항에 있어서, 상기 첫 번째 재귀 움직임 추정 규칙과 상기 두 번째 재귀 움직임 추정 규칙은 서로 보완적인 장점들을 갖는 것을 특징으로 하는 움직임 추정 장치.
  15. 제 12항에 있어서, 상기 수신부가 상기 첫 번째 비디오 프레임을 수신한 후,
    상기 제1 추정부는 스캐닝 순서에 따라 상기 첫 번째 프레임 내의 첫 번째 블록을 액세스하고,
    상기 제2 추정부는 상기 스캐닝 순서에 따라 상기 첫 번째 프레임 내의 두 번째 블록을 액세스하며,
    상기 스캐닝 순서에서 상기 두 번째 블록은 상기 첫 번째 블록을 바로 뒤따르는 것을 특징으로 하는 움직임 추정 장치.
  16. 제 15항에 있어서, 상기 수신부가 상기 두 번째 비디오 프레임을 수신한 후,
    상기 제2 추정부는 상기 스캐닝 순서에 따라 상기 두 번째 프레임 내의 상기 첫 번째 블록을 액세스하고,
    상기 제1 추정부는 상기 스캐닝 순서에 따라 상기 두 번째 프레임 내의 상기 두 번째 블록을 액세스하며,
    상기 스캐닝 순서에서 상기 두 번째 블록은 상기 첫 번째 블록을 바로 뒤따르는 것을 특징으로 하는 움직임 추정 장치.
  17. 제 12항에 있어서, 상기 제1 추정부는
    공간적 주변 블록 및 시간적 주변 블록 중 적어도 하나의 블록으로부터 뽑은 움직임 벡터 후보들을 평가하는 것을 특징으로 하는 움직임 추정 장치.
  18. 제 17항에 있어서, 상기 공간적 주변 블록 및 시간적 주변 블록 중 적어도 하나의 블록은
    3x3 블록 격자를 형성하도록 상기 첫 번째 블록을 둘러싸는 8개의 블록들을 포함하는 것을 특징으로 하는 움직임 추정 장치.
  19. 제 18항에 있어서, 상기 제1 추정부는
    평가되는 움직임 벡터 후보들 중에서 최적 오차 척도에 해당하는 움직임 벡터를 결정하는 것을 특징으로 하는 움직임 추정 장치.
  20. 제 12항에 있어서, 상기 제2 추정부는
    비대칭의(asymmetrical) 공간적 주변 블록 및 시간적 주변 블록 중 적어도 하나의 블록들로부터 뽑은 움직임 벡터 후보들을 평가하는 단계를 포함하는 것을 특징으로 하는 움직임 추정 장치.
  21. 제 20항에 있어서, 상기 공간적 주변 블록 및 시간적 주변 블록 중 적어도 하나의 블록들은
    5x5 블록 격자를 포함하는 것을 특징으로 하는 움직임 추정 장치.
  22. 제 12항에 있어서,
    만약 상기 첫 번째 재귀 추정 규칙을 이용하여 상기 첫 번째 비디오 프레임 내의 한 블록에 대한 움직임 벡터가 추정되었다면, 상기 두 번째 재귀 추정 규칙을 이용하여 상기 두 번째 비디오 프레임 내의 동일한 블록에 대한 상기 움직임 벡터를 추정하도록 하는 선택 논리부를 더 포함하는 것을 특징으로 하는 움직임 추정 장치.
  23. 하나의 장치에서 비디오 프레임들간 움직임 추정을 제공하는 방법에 있어서,
    복수의 블록들을 포함하는 첫 번째 비디오 프레임을 수신하는 단계; 및
    복수의 서로 다른 재귀 움직임 추정 규칙들 중 하나를 상기 복수의 블록들 각각에 적용하여 각 블록에 대한 움직임 벡터를 추정하는 단계를 포함하며,
    상기 비디오 프레임 내의 적어도 하나의 블록에 대한 움직임 벡터를 추정하기 위하여 상기 복수의 재귀 움직임 추정 규칙들 중 2 이상이 이용되는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  24. 제 23항에 있어서,
    상기 복수의 블록들 각각이 상기 복수의 움직임 추정 규칙들 중 단 하나에 의해서만 고려되는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
  25. 제 23항에 있어서,
    상기 복수의 움직임 추정 규칙들 각각이 상기 첫 번째 프레임 내의 대체로 유사한 수의 블록들에 적용되는 것을 특징으로 하는 비디오 프레임들간 움직임 추정을 제공하는 방법.
KR1020090008037A 2008-06-30 2009-02-02 다수의 재귀 규칙을 이용한 디지털 비디오의 움직임 추정 방법 및 시스템 KR101589492B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/164,939 2008-06-30
US12/164,939 US8559518B2 (en) 2008-06-30 2008-06-30 System and method for motion estimation of digital video using multiple recursion rules

Publications (2)

Publication Number Publication Date
KR20100003176A KR20100003176A (ko) 2010-01-07
KR101589492B1 true KR101589492B1 (ko) 2016-01-28

Family

ID=41446945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090008037A KR101589492B1 (ko) 2008-06-30 2009-02-02 다수의 재귀 규칙을 이용한 디지털 비디오의 움직임 추정 방법 및 시스템

Country Status (2)

Country Link
US (1) US8559518B2 (ko)
KR (1) KR101589492B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110026596A1 (en) * 2009-07-28 2011-02-03 Wei Hong Method and System for Block-Based Motion Estimation for Motion-Compensated Frame Rate Conversion
US10445862B1 (en) * 2016-01-25 2019-10-15 National Technology & Engineering Solutions Of Sandia, Llc Efficient track-before detect algorithm with minimal prior knowledge
CN105847804B (zh) * 2016-05-18 2017-12-15 信阳师范学院 一种基于稀疏冗余表示模型的视频帧率上转换方法
CN107661704B (zh) 2016-07-27 2020-06-09 郑州三华科技实业有限公司 适用不同漆桶桶口的搅拌浆盖

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100482898B1 (ko) 1996-05-24 2005-08-31 코닌클리케 필립스 일렉트로닉스 엔.브이. 모션벡터를추정하는방법,장치및그장치를포함하는비디오디스플레이장치
DE69836473T2 (de) * 1997-09-23 2007-09-20 Koninklijke Philips Electronics N.V. Bewegungsschätzung und bewegungskompensierte interpolation
WO2000034920A1 (en) 1998-12-07 2000-06-15 Koninklijke Philips Electronics N.V. Motion vector estimation
EP1075147A1 (en) * 1999-08-02 2001-02-07 Koninklijke Philips Electronics N.V. Motion estimation
US6782054B2 (en) * 2001-04-20 2004-08-24 Koninklijke Philips Electronics, N.V. Method and apparatus for motion vector estimation
JP4472986B2 (ja) * 2001-09-12 2010-06-02 エヌエックスピー ビー ヴィ 動き推定および/または補償
KR100637545B1 (ko) * 2001-11-30 2006-11-10 오리온오엘이디 주식회사 유기 el 소자의 봉지 캡 및 그의 제조 방법
US7480334B2 (en) * 2003-12-23 2009-01-20 Genesis Microchip Inc. Temporal motion vector filtering
FR2872973A1 (fr) * 2004-07-06 2006-01-13 Thomson Licensing Sa Procede ou dispositif de codage d'une sequence d'images sources
US8107748B2 (en) 2005-09-16 2012-01-31 Sony Corporation Adaptive motion search range

Also Published As

Publication number Publication date
US8559518B2 (en) 2013-10-15
US20090322956A1 (en) 2009-12-31
KR20100003176A (ko) 2010-01-07

Similar Documents

Publication Publication Date Title
US8315436B2 (en) Robust camera pan vector estimation using iterative center of mass
JP4398925B2 (ja) 補間フレーム生成方法、補間フレーム生成装置および補間フレーム生成プログラム
EP2180695B1 (en) Apparatus and method for improving frame rate using motion trajectory
CN106254885B (zh) 数据处理系统、执行运动估计的方法
JP4053490B2 (ja) フレーム補間のための補間画像作成方法及びこれを用いた画像表示システム、補間画像作成装置
US20120093231A1 (en) Image processing apparatus and image processing method
US20180005039A1 (en) Method and apparatus for generating an initial superpixel label map for an image
WO2013100791A1 (en) Method of and apparatus for scalable frame rate up-conversion
KR101589492B1 (ko) 다수의 재귀 규칙을 이용한 디지털 비디오의 움직임 추정 방법 및 시스템
US8175160B1 (en) System, method, and computer program product for refining motion vectors
EP1514241A2 (en) Unit for and method of estimating a motion vector
CN113870302A (zh) 运动估计方法、芯片、电子设备以及存储介质
WO2015085922A1 (zh) 一种帧率上采样的方法和装置
JP2015226326A (ja) 映像解析方法及び映像解析装置
JP2012181710A (ja) オブジェクト追跡装置、方法、及びプログラム
US20090167958A1 (en) System and method of motion vector estimation using content associativity
US20090180033A1 (en) Frame rate up conversion method and apparatus
JP4606736B2 (ja) 特徴点選択
JP2006215655A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
JP2005175872A (ja) 動きベクトル検出装置、および動きベクトル検出方法、並びにコンピュータ・プログラム
US8693541B2 (en) System and method of providing motion estimation
US8179967B2 (en) Method and device for detecting movement of an entity provided with an image sensor
JP2006215657A (ja) 動きベクトル検出方法、動きベクトル検出装置、動きベクトル検出プログラム及びプログラム記録媒体
JP5975791B2 (ja) 画像処理装置及び方法、並びに画像表示装置及び方法
CN113949869B (zh) 估计像素块运动矢量的方法和视频处理装置及设备和介质

Legal Events

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