KR20020025874A - 모션 추정 알고리즘 - Google Patents

모션 추정 알고리즘 Download PDF

Info

Publication number
KR20020025874A
KR20020025874A KR1020017014977A KR20017014977A KR20020025874A KR 20020025874 A KR20020025874 A KR 20020025874A KR 1020017014977 A KR1020017014977 A KR 1020017014977A KR 20017014977 A KR20017014977 A KR 20017014977A KR 20020025874 A KR20020025874 A KR 20020025874A
Authority
KR
South Korea
Prior art keywords
motion vector
pixels
search
vector candidate
motion
Prior art date
Application number
KR1020017014977A
Other languages
English (en)
Other versions
KR100752530B1 (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 KR20020025874A publication Critical patent/KR20020025874A/ko
Application granted granted Critical
Publication of KR100752530B1 publication Critical patent/KR100752530B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

모션 추정을 수행하기 위한 과정에서 현재 화상 내의 픽셀들의 현재 블록에 대한 최적의 모션 벡터를 식별하기 위한 방법에 관한 것이다. 상기 방법은 각각의 모션 벡터 후보에 대해, 픽셀들의 현재 블록의 픽셀들의 값들과 픽셀들의 기준 블록 내의 대응하는 수의 픽셀들의 값들 사이의 차이점들을 대표하는 오차값을 계산함으로써 픽셀들의 현재 블록에 대한 복수의 모션 벡터 후보들을 추정(30)함으로써 구현된다. 각각의 모션 벡터 후보를 추정하는 동안, 상기 오차값은 바람직하게는 몇몇 지점에서 체킹되고, 오차값을 계산하는 동안, 모션 벡터 후보가 미리 정해진 임계값 이하로 떨어진다는 것을 결정하자 마자 그 모션 벡터 후보들을 위해 추정이 중단(40, 50)된다. 가장 낮은 계산된 오차값을 갖는 모션 벡터 후보는 픽셀들의 현재 블록에 대해 최적의 모션 벡터로 선택된다. 그 모션 벡터 후보들은 바람직하게는, 본질적으로 최적의 모션 벡터 후보가 될 높은 가능성을 갖는 모션 벡터 후보들의 부분 집합을 추정하는 것을 포함하는 제 1 위상 및 각각의 모션 벡터 후보 추정에 대한 미리 정해진 검색 영역 내의 픽셀들의 다른 기준 블록을 식별하기 위해 기준 화상의 미리 정해진 검색 영역 내에서 공간 검색을 수행하는 단계를 포함하는 제 2 위상(80)을 포함하는, 별개의 두 위상들로 추정된다.

Description

모션 추정 알고리즘{Motion estimation algorithm}
많은 다른 비디오 압축 알고리즘들이 주어진 화질에 대한 디지털-인코딩된 비디오 데이터(digitaly-encoded video data)("디지털 비디오 데이터")를 전송하기 위해 요구되는 대역폭을 최소화하기 위해 디지털 인코딩("압축") 비디오 데이터에 대해 개발되어 왔다. 몇몇 멀티미디어 설명 위원회들은 오디오 및 비디오 데이터를 인코딩/압축하기 위한 표준들을 수립하고 제안해 왔다. 가장 널리 공지되고 수용된 국제 표준들은 MPEG-1 및 MPEG-2를 포함하는 MPEG(Moving Picture Expert Group)에 의해 제안되어 왔다. 화상 압축을 움직이기 위한 이들 MPEG 표준들은 디지탈 다목적(또는 비디오) 디스크(DVD) 플레이어들, DVD 재생 능력을 갖는 멀티미디어 PC들 및 위성 방송 디지털 비디오를 포함하는, 다양한 현재 비디오 재생 생산품들에 사용된다.
비록, MPEG 표준들이 통상적으로 높은 화질을 제공할지라도, 몇가지 응용에대해서 데이터 레이트/대역폭 요구 조건들이 너무 많다. 화상 콘텐츠가 통상적으로 예를 들어, 대부분의 모션이 회의자(conferee)의 머리 및 어깨들이 위치되는 화상 내의 다이아몬드 모양의 영역으로 한정되는 화상-대-화상(picture-to-picture)으로부터 많은 양을 변화시키지는 않기 때문에, 화상 회의(Videoconference)는 통상적으로 MPEG에 의해 제공된 코딩 해상도(coding resolution)를 요구하지 않는 특정 응용이다. 간단히, 화상 회의 응용에서, 움직이는 화상의 시퀀스 내에 모션이 거의 없기 때문에, 화상-대-화상으로부터 많은 여분(redundancy)이 있으며, 결과적으로, 주어진 화질에 대해 가능한 비디오 데이터 압축의 정도가 훨씬 더 많아진다. 게다가, 많은 화상 회의 시스템들에 대한 사용가능한 대역폭은 2Mbits/초보다 좁고, MPEG 전송들에 대해서는 훨씬 더 좁다.
MPEG와 유사하게, H.261 인코딩 알고리즘은 DCT(Discrete Cosine Transform) 코딩 및 미분 코딩(differential coding)의 조합을 사용한다. 그러나, 단지 I-화상들 및 P-화상들이 사용된다. I-화상이 그 화상에 포함된 정보만을 사용하여 코딩되고, 그러므로, "인트라-코딩된(Intra-coded)" 또는 "인트라" 화상으로 언급된다. P-화상이 직전의 기준(또는 "앵커(anchor)") 화상으로부터의 정보에 기초하여 모션 보상 예측(motion compensated prediction)(또는 "모션 추정")을 사용하여 코딩되므로, "예측적인(predictive)" 또는 "예측된(predicted)"으로 언급된다. H.261 기준에 따라서, 압축된 디지털 비디오 데이터 스트림은 계층적으로 4개의 층들: 화상, 블록들의 그룹(GOB), 매크로블록(macroblock(MB)), 및 블록으로 배치된다. 화상이 꼭대기 층(top layer)이다. 각각의 화상은 블록들의 그룹(GOB)들로 분할된다.GOB는 CIF(Common Intermediate Format) 화상의 1/12(one-twelfth)이다. 각각의 GOB는 33개의 매크로블록들로 분할된다. 각각의 매크로블록은 16×16의 픽셀 어레이로 구성된다.
간단히, MPEG와 같이, H.261은 가능한한 모션에 기인하여 변화하는 연속하는 화상들의 부분들을 코딩하도록 모션 추정을 사용한다. 특히, H.261은 현재 매크로블록의 픽셀들과 주어진 N×N 픽셀 검색 범위 내의 앵커 화상 내의 픽셀들의 대응하는 어레이 간의 비교에 기초하여, 앵커 화상 내의 최초 위치에 관련된 현재 화상 내의 "매크로블록"의 위치를 지정하는 "모션 벡터들"(MVs)를 사용한다. H.261 표준에 따라, 최소 검색 범위는 +/- 7 픽셀들이고, 최대 검색 범위는 +/- 15 픽셀들이다. 모든 H.261 응용들에서 최대 검색 범위를 사용하는 것은 압축된 신호의 질을 필수적으로 개선할 필요는 없을 것임을 이해해야 한다. 이에 관하여, H.261 응용들이 64kbits/초에서 1,084kbits/초로 변화하는 여러가지 비트 레이트로 동작시킬 수 있기 때문에, 사용되는 실제 검색 범위는 변화할 수 있다. 예를 들어, 높은 비트 레이트에서, 인접한 화상들 간의 일시적인 거리는 보다 작으므로, 보다 작은 검색 범위가 주어진 화질을 달성하도록 사용될 수 있다. 낮은 비트 레이트에서, 그 환경은 전환되며, 보다 큰 검색 범위가 주어진 화질을 달성하기 위해서 요구된다.
일단 특정 매크로블록에 대한 모션 벡터가 결정되면, 그 모션 벡터에 의해 식별된 앵커 화상 내의 가장 근접한 매칭 매크로블록(closest-matching macroblock)의 픽셀 값들은 현재 매크로블록의 대응하는 픽셀들로부터 감산되고, 이어서, 결과적인 미분 값들은 Discrete Cosine Transform(DCT) 알고리즘을 사용하여 변환되고, (모션 벡터 및 다른 정보가 매크로블록에 속하고, 매크로블록을 식별하는 것처럼) 그 결과의 계수들은 각각 양자화되고 허프만-인코딩(Huffman-encoded)된다. 만약, 모션 추정 처리 동안, 어떤 적절한 매크로블록 매치도 앵커 화상에서 검출되지 않을 경우, (즉, 미분 값이 소정의 임계 매트릭을 초과할 경우,) 또는 현재 화상이 I-화상일 경우, 그 매크로블록은 "인트라" 매크로블록으로 지정되고, 따라서 그 매크로블록은 코딩된다.
H.261 표준은 사용된 모션 추정 알고리즘의 임의의 특정 구현을 지정하지는 않는다. 달리 말해, H.261은 화상 회의 시스템들의 제조자들에게 모션 추정 알고리즘의 구현의 세부적인 것들을 공개하게 된다. 일반적으로, 다양한 측정들 또는 매트릭들이 현재 매크로블록에 관하여 가장 가까운 매치(즉, 최소의 차이/오차)를 구성하는 앵커 화상 내의 픽셀 어레이의 위치를 계산하기 위해 이용되고 제안되어 왔으며, 다양한 모션 추정 알고리즘들이 앵커 화상 내의 가장 가까운 매칭 매크로블록을 검색하고 위치시키기 위해 이용되고 제안되어 왔다. 이러한 모션 추정(M.E.) 알고리즘들은 통상적으로 프로세서 예를 들어, 화상 회의 시스템에서의 비디오 데이터의 인코딩의 업무가 할당된 Philips Semiconductors에 의해 제조되고 판매되는 TriMedia 프로세서를 운영하는 소프트웨어에 의해서 수행된다. 오버아칭 목표(overarching goal)는 알고리즘을 실행하도록 프로세서 상의 부하를 최소화하고, 오차/부정확성의 수용가능 레벨을 유지하면서, 가능한한 신속하게 앵커 화상 내의 가장 가까운 매칭 매크로블록을 위치시키는 것이다. 모션 추정 검색 알고리즘을 실제적으로 실행시키는 하드웨어/소프트웨어는 때때로 "검색 엔진(searchengine)"으로 불려진다. 검색 엔진에 관하여, 오버아칭 목표는 모션 추정 알고리즘을 실행시키도록 요구되는 자원들을 최소화하면서 그 성능을 최적화시키는 것이다. 간단히 말해서, 근본적인 목표는 계산 노력 및 계산 시간을 최소화하는 것이다.
매치(match)의 질을 추정하기 위한 가장 잘 공지된 기준 또는 매트릭들 사이에서, SAD(Sum of the Absolute Differences) 및 SSD(Sum fo the Squared Differences)이다. SAD 매트릭은 현재 매크로블록 내의 각각의 N 픽셀들의 차들의 절대값들의 합(16×16 매크로블록에 대해서는 N=256)과 추정 하에서의 앵커 화상에서 비교 매크로블록의 대응하는 픽셀들 중 각각의 것들을 구성한다. SSD 매트릭은 상기 픽셀 차들의 제곱들의 합을 구성한다. 주어진 모션 추정 검색 시퀀스 동안, 가장 작은 SAD 또는 SSD 값(기준/매트릭이 사용될 때마다)을 산출하는 앵커 화상 내의 후보 매크로블록은 "베스트 매치(best match)"로 선택된다. 현재 매크로블록(즉, x, y "오프셋")에 관한 이러한 매크로블록의 수평 및 수직 위치(즉, x, y 위치) 또는, 그것의 도함수(derivatve)가 현재 매크로블록을 위한 "모션 벡터"로서 지정된다. SAD 또는 SSD 값(어느것이 사용되든지)은 소정의 임계값보다 더 크다면, 적절한 매치가 현재 매크로블록에 대해 존재하지 않음이 결정되고, 그것은 인트라 매크로블록으로서 코딩된다. 일반적으로, SAD 매트릭은 SSD 매트릭보다 계산하기에 더 쉽고 더 빠르지만 덜 정확하다. 달리 말해, SSD 매트릭 계산들은 SAD 매트릭 계산들에서 요구하는 것보다 더 큰 프로세서 노력(exertion)을 요구하므로, "비용 관계(cost function)" 관점으로부터 보다 "비싼(expensive)" 것으로 고려될 수 있다.
H.261 도메인에서, +/- 15 픽셀들의 검색 범위를 가정하면, 961개의 후보 모션 벡터들은 추정, 즉, 추정되고 있는 현재 매크로블록으로 "베스트 매치"를 이루기 위한 후보들인 앵커 화상의 주어진 검색 범위 내의 전체 961개의 다른 매크로블록-크기의 픽셀 어레이들이 있는 것으로 추정되어야 한다. 추정된 각각의 모션 벡터는 상이한 평균 제곱 오차(MSE) 차이값을 산출할 것이다. 최소의 MSE 값을 갖는 모션 벡터는 트루 "베스트 매치"이다. 각각의 모션 벡터 추정이 다수의 감산들 및 가산들을 요구하기 때문에, 주어진 검색 범위 내의 961개의 상이한 모션 벡터들 각각에 대한 MSE 값을 계산하기 위해서 모션 추정 검색 엔진용으로는 완전히 비실용적이다. 이러한 이론적인 "완전 검색 알고리즘"은 항상 트루 "베스트 매치"를 생산한다. 그러나, 구현 관점으로부터 비실용적이기 때문에, 주어진 검색 범위 내의 모션 벡터들의 전체 집합 중 단지 부분 집합만을 추정하는 상이한 보다 실용적인 모션 벡터 알고리즘들의 비교를 가능하게 하는 기준(reference) 또는 벤치마크 (benchmark)로서 단지 사용되며, 이 기술은 때때로 "서브샘플링(subsampling)"으로서 언급된다. 이러한 서브샘플링 기술을 사용하는 모션 추정 알고리즘들은 그들이 "완전 검색 알고리즘"보다 훨씬 신속하고 훨씬 소수의 계산들로 실행될 수 있기 때문에, 때때로 "빠른 검색 알고리즘(fast search algorithm)들"로 언급된다.
일반적으로 말해서, 한편으로는, 모션 추정 검색의 레이트와 다른 한편으로, 모션 추정 검색의 정확성(그러므로, 인코딩된 디지털 비디오 데이터의 결과적 화질) 간에 고유의 트레이드-오프(trade -off)가 존재한다. 더구나, 검색 엔진의 성능은 그것이 생산하는 데이터 집합을 최소화하기 위한 능력에 직접적으로 관련된다. 이에 관해, 인수 n에 의한 기준 화상 내의 현재 매크로 블록과 선택된 "베스트매치" 매크로블록간의 MSE를 감소시키는 모션 추정 알고리즘은 n의 역수에 의해 대략적으로 성능을 개선시킬 것이다. 그러므로, 오버아칭 목표는 요구되는 계산 노력 및 계산 시간을 최소화하면서 성능을 최적화시키는 모션 추정 알고리즘(검색 전략)을 발명하는 것이다. 이것에 관해, 모션 추정는 최소의 비용 관계를 찾기 위해 최적화 문제에 수학적으로 동등하게 고려될 수 있다.
본 발명의 기초가 되는 원리들의 더 나은 이해를 용이하게 하기 위해서, 모션 추정 검색의 이론적인 프레임워크(framework)의 리뷰(review)가 후속한다. 개요에서, MSE 차들(H.261 도메인에서는 961개의 MSE 차들)의 어레이는 오차에 비례하는 높이(height)로 "오차 표면(error surface)"으로 시각화될 수 있다. 대부분의 텔레비전 화상 회의 장면들은 주로 낮은 공간 주파수 데이터를 포함하기 때문에, 오차 표면 또한 공간 주파수에서 통상적으로 낮으며, 최소 오차를 둘러싸는 하나 또는 단지 소수의 "밸리(valley)들"로 부드럽게 진동한다. H.261 도메인 내의 오차 영역의 이러한 특성들은 모션 추정을 위한 최소 오차값에 대한 검색에서 엄격한 서브샘플링의 사용을 허용한다. 특히, 임의의 싱글 후보 벡터 후보 추정에 관련된 오차 값은 그 검색 공간의 전체 영역에 대한 정보를 공급하며, 두개의 모션 벡터 후보 추정들에 관련된 두 개의 오차 값의 비교는 두 후보들 사이의 오차 표면의 기울기에 대한 추가의 정보를 제공한다. 병리학적 경우(pathological case)들은 장기판(chess board)을 모사할 때와 같이 발생할 수 있다. 그러한 화상에서, 흰색 스퀘어들이 흰색 스퀘어들과 매칭하는 모든 경우에서, 그 오차 표면에 디프레션(depression)이 있을 것이며, 그것은 비숍(bishop)들 및 나이트(knight)들이 또한 정렬된 진실의 최소 오차 값을 위치시키기 위해 도전할 것이다. 그러므로, 그것은 서브샘플링이 잘못된 결정들을 유도할 수 있으며, 그 밖의 모든 것이 동등하며, 임의의 검색 방법의 "성공"(정확도/해상도)은 추정된 샘플들의 수(즉, 샘플링의 밀도)에 관련됨을 이해할 수 있을 것이다. 더구나, 서브샘플링에 의존하는 검색 전략의 성공은 오차 표면의 연속성에 의존하는 적어도 약간의 정도(some degree)임을 이해할 수 있을 것이다.
또한, 하나의 매크로블록에서 공간적으로 인접한 매크로블록들으로의 벡터 상관 관계들 및 한 프레임 내의 매크로블록에서 다음 프레임 내의 동일한 매크로블록으로의 벡터 상관 관계들이 있다. 예를 들어, 회의자(conferee)의 팔꿈치가 프레임 n에서 북동쪽으로 3픽셀 이동하는 경우, 그것은 인접한 매크로블록 내의 회의자의 손이 프레임 n 내에서 동일한 종류의 모션을 가질 것이며, 둘 모두의 매크로블록들은 플임 n+1 내에서 유사한 벡터를 가질 것임이 합리적으로 추론될 수 있다. 이러한 공간 및 일시적 상관 관계들은 불완전하지만, 너무 있음지하여 무시할 수 없다. 그러나, 이러한 공간 및 일시적 상관 관계들에 배타적으로 의존하는 검색 방법이 모션 보상/모션 코딩으로부터 사용가능한 이익의 부분을 단지 제공할 수 있다.
몇가지 앞서 제안된 모션 추정 알고리즘들은 오차 표면의 간당성에 너무도 극심하게 의존되므로, 그것을 정확하게 번역할 가능성을 굉장히 감소시킨다. 예를 들어, 특히 효율적인 모션 추정 알고리즘들의 하나의 카테고리는 "차원 연속(dimension sequential)" 방법을 동작하는 것들이다. 비록, 이러한 카테고리내의 모션 추정 알고리즘들이 상세하게 변화할지라도, "차원 연속" 방법으로 동작시키는 예시적인 모션 벡터 알고리즘의 후속하는 기재는 모션 추정 알고리즘들의 이러한 카테고리로 앞서 지적된 약점들을 설명하도록 제공되어야야 한다. 특히, 이러한 예시적인 알고리즘에 따라서, 추정들의 제 1 시리즈는 수평 축을 따라 제 1 최소 오차 지점을 위치시키도록 수평 축을 따라 수행된다. 추정들의 제 2 시리즈가 앞서 식별된 제 1 최소 오차 지점을 통과하여 수직 라인을 따라 수행되고, 이 수직 라인에 따른 제 2 최소 오차 지점이 식별된다. 그 검색이 대안으로 검색 공간의 수평 및 수직 차원들로 수행되기 때문에, "차원 연속" 처리로서 생각될 수 있다. 이어서, 후보들 간의 공간은 감소되고, 식별된 각각의 최소 오차 지점에 후보자들의 열을 위치시켜 차원 연속 처리가 반복된다. 최종적으로, 시간이 허용된다면, 마지막 "승자(winner)"의 인접한 이웃(즉, 최소 오차 값을 갖는 후보)가 추정될 수 있다. 비록, 이러한 차원 연속 접근으로 요구되는 추정들의 전체 수가 최소일지라도, 전체 오차 표면 내의 트루 최소 오차를 잃을 가능성은 그 오차 표면이 하나 이상의 "밸리(valley)"를 포함할 경우에 아주 높다.
대부분의 모션 추정 알고리즘들은 해상도를 증가시키는 두 개의 차원적이며 개별적인 레벨들(즉, 감소하는 검색의 검위/구역)을 동작시키므로, 멀티 레벨(multi-level) 또는 계층적인 것으로 생각될 수 있다. 예시적인 계층적 알고리즘은 네개의 계층 레벨들 각각의 해상도의 두배이다. 도 1에 도시된 바와 같이, 각 레벨에서, 분리되어 45°이격된 여덟개의 벡터들이 각각 추정된다. 벡터 크기들이 동등하다면, 최상의 해상도를 나타낼 것으로 보인다. 그러나, 이러한 방법은 화상회의 데이터 집합에서 벡터들의 높은 피크 분포(highly peaked distribution)에 적절하지 않다. 이에 관해서, 모션 추정의 대부분의 이득은 작은 벡터들로부터 얻어지지만, 앞서 언급된 예시적인 계층적 알고리즘은 그 시간의 대부분을 큰 벡터들을 검색하는데 소비한다. 이는 또한 검색 시퀀스를 변경하도록 제안하는 오차 표면 데이터를 무시하기 때문에, 그 동작에 전체적으로 비적응적(non-adaptive)이다. 그 방법, 즉, 검색 시퀀스가 그 검색 시퀀스 동안의 결정들에 기초하여 개조되지 않은 방법에 따라 결정된 오차 표면의 모양에 관계없이, "북서(northwest)" 후보는 처음으로 추정되고, "남서(southwest)" 후보는 모든 레벨에서, 여덟 번째로 추정된다.
그 수단은 추정들의 수를 변함없이 감소시키는 처리 부담을 줄이기 소망한다면, 대부분의 명확한 방법이 보다 조잡하게 샘플링하게 될 것이다. 이 점에 대하여, 1980년대 후반에 상표명 "Rembrandt"의 Compression Labs, Inc.(CLI)에 의해 제조되고 판매된 56Kbs 코덱은 모션 추정 알고리즘을 도 2에 도시된 바와 같은, 대안의 레벨들에서 그 패턴을 45°회전시켜 각 레벨에서 분리되고 90°이격되어 추정된 4개의 벡터들을 사용했다.
오프셋들은 기수 레벨들(even level)에서, N, E, W, S였고, 우수 레벨들에서, NE, SE, SW, NW였다. 이러한 모션 추정 알고리즘이 그것이 화상 회의 응용들에서 설계된 응용들에 대해 잘 작동되는 반면, 이러한 검색 계획은 그 샘플링의 부족에 기인하여 최적의 벡터를 확실히 잃지 않을 것이다.
본 발명은 일반적으로 디지탈 비디오 인코더들 내에 특정 유틸리티를 갖는 하드웨어-효율적인 고성능 모션 추정 알고리즘에 관한 것이다. 모션 추정 알고리즘은 또한 필드 레이트 컨버터들과 같은 다른 비디오 신호 프로세서들에 사용될 수 있다.
도 1은 제 1의 미리 제안된 모션 추정 알고리즘에 사용된 검색 패턴을 설명하는 도면.
도 2는 제 2의 미리 제안된 모션 추정 알고리즘에 사용된 검색 패턴을 설명하는 도면.
도 3은 본 발명의 모션 추정 알고리즘의 현재 바람직한 실시예에 사용된 검색 패턴을 설명하는 도면.
도 4a 내지 도 4d는 본 발명의 현재 예상되는 바람직한 실시예를 구성하는 상기 기재된 모션 추정 알고리즘을 설명하는 플로우차트의 연속하는 부분들을 묘사하는 도면.
도 5는 본 발명에 따른 비디오 신호 처리 장치를 도시하는 도면.
발명의 요약
앞서 기재된 것에 기초하여, 현재 사용가능한 기술의 결점들 및 단점들을 극복하는 모션 추정 알고리즘에 대한 종래 기술에서의 필요성이 존재한다. 본 발명은 요구되는 계산 시간 및 계산 노력을 감소시키는 간단하면서도 매우 다양한 구현으로 종래 기술에서의 이러한 필요성을 충족시킨다.
본 발명의 바람직한 실시예는, 모션 추정을 수행하기 위한 과정에서 현재 화상에서의 픽셀들의 현재 블록에 대한 최적의 모션 벡터를 식별하기 위한 방법을 포함하고 있다. 그 방법은 각각의 모션 벡터 후보에 대해 픽셀들의 현재 블록의 픽셀들의 값들과 픽셀들의 기준 블록 내의 대응하는 수의 픽셀들의 값들 간의 차이들을 나타내는 오차 값을 계산함으로써 픽셀들의 현재 블록에 대한 복수의 모션 벡터 후보들을 추정함으로써 구현된다. 각각의 모션 벡터 후보를 추정하면서 바람직하게는 몇몇 지점들에서 오차 값을 계산하면서 오차값이 체크되고, 오차 값이 미리 정해진 임계값을 초과하였음이 결정되자마자, 그 추정은 모션 벡터 후보에 대해 중지된다. 가장 낮은 계산된 오차 값을 갖는 모션 벡터 후보는 픽셀들의 현재 블록에 대한 최적의 모션 벡터로 선택된다.
그 모션 벡터 후보는 바람직하게는, 최적의 모션 벡터 후보가 될 본질적으로 높은 가능성을 갖는 모션 벡터 후보들의 부분 집합을 추정하는 것을 포함하는 제 1 위상, 및 각각의 모션 벡터 후보 추정에 대한 미리 정해진 검색 영역 내의 픽셀들의 다른 기준 블록을 식별하기 위해 기준 픽쳐의 미리 정해진 검색 영역 내의 공간 검색을 수행하는 것을 포함하는 제 2 위상을 포함하는, 두개의 구별 위상들로 추정된다.
모션 벡터 후보들의 부분 집합은 바람직하게는, 현재 화상 내의 픽셀들의 현재 블록의 위치와 동일한 기준 화상 내의 픽셀들의 기준 블록의 위치에 대응하는 제 1 모션 벡터 후보와, 현재 화상 내의 픽셀들의 현재 블록의 위치와 동일한 이전 화상 내의 픽셀들의 기준 블록의 위치에 대응하는 제 2 모션 벡터 후보, 및 현재 화상 내의 픽셀들의 이전 블록에 대해 이전에 결정된 최적의 모션 벡터를 구성하는 제 3 모션 벡터 후보를 포함한다. 바람직하게는, 제 1 모션 벡터 후보에 대한 오차 값이 미리 정해진 모션 추정 종료 임계값 이하라고 결정되는 경우에는, 어떤 다른 추정들도 수행되지 않는다.
그 공간 검색은 바람직하게는 복수의 다른 검색 레벨들에서 수행된다. 현재 바람직한 실시예에서, 각각의 검색 레벨에서의 공간 검색은 재진입하고, 바람직하게는 각각의 검색 레벨에서, 공간 검색에서의 그 지점에 대해 식별된 베스트 모션 벡터 후보로 그 공간 검색을 리센터링(re-centering)함으로써 그 베스트 모션 벡터 후보는 그 공간 검색에서의 지점에 대해 발견된 가장 낮은 오차 값보다 더 낮은 오차 값을 갖는 것이다. 바람직하게는, 공간 검색의 검색 패턴은 공간 검색 동안 이루어진 추정들의 결과에 기초하여계층적 방법으로 적응적으로 변경된다.
그 방법은 소프트웨어 구현 상태 머신을 동작시키는 소프트웨어에 의해 실행된다. 그 소프트웨어는 바람직하게 검색 시퀀스를 정의하는 소스 코드 및 미리 정해진 메모리 공간에 상태 머신을 형성하는 기능을 포함한다. 소스 코드는 바람직하게는 초기화시 단지 한번만 실행된다. 검색 시퀀스는 바람직하게 적응성 계층적 검색 시퀀스이다. 소스 코드는 검색 시퀀스 내의 임의의 지점에서, 미리 정해진 메모리 공간으로부터 판독된 싱글(single)을 이룸으로써 추정되기 위해 다음 모션 벡터 후보에 대한 적절한 x, y 위치들을 식별한다. 또한, 검색 시퀀스 내의 임의의 지점에서, 소스 코드는 새로운 베스트 모션 벡터 후보가 식별되었음을 지시하는 테스트 비트의 극성(polarity) 및 두 개의 가장 최근의 벡터들 간의 비교 결과들에 의존하여, 메모리 공간 내의 두 개의 위치들 중 하나를 판독함으로써 추정되도록 다음 모션 벡터 후보를 식별한다.
본 발명의 목적들, 특징들, 및 이점들은 첨부 도면들에 관련하여 설명되는 다음의 상세한 설명으로부터 쉽게 명백해질 것이다.
본 발명의 예시적인 실시예에 따은 모션 추정 알고리즘이 이하에 기재된다. 이러한 추정 알고리즘은 Philips Semiconductors에 의해 제조되고 판매되는 TriMedia와 같은 처리기에서 실행될 수 있는 소프트웨어에서 구현된다.
본 발명의 모션 추정 알고리즘은 하기 기재된 많은 각각의 다른 방법으로 계산 시간 및 계산 노력을 최소화하면서 높은 성능을 달성한다.
본 발명의 제 1 새로운 양상에 따르면, 모든 추정들이 과정 중에 바람직하게는 몇몇 지점에서 체크되며, 현재 값이 이전에 식별된 베스트 값보다 클 경우, 추정이 즉시 중지되므로, 계산 노력 및 계산 시간의 상당량을 절약한다. 이러한 추정 중지 계획을 사용함으로써 실현될 수 있는 계산 절약들을 최소화하기 위해서 가능한한 빨리 가장 작은 가능한 오차 값을 식별하는 것이 중요함을 인식해야 할 것이다.
본 발명의 제 2 새로운 양상에 따르면, 최적의 모션 벡터에 대한 검색은 조잡한 검색 위상과 좋은 검색 위상으로 분할된다. 조잡한 검색 위상에서, 가장 높은 모션 벡터 후보들(즉, 가장 낮은 오차 값을 갖는 가장 높은 고유의 가능성을 갖는 그러한 후보들)이 추정된다. 이러한 가장 높은 임의의 모션 벡터 후보들이 대략적으로 정확할 경우, 그들은 작은 오차 값을 산출한다. 좋은 검색 위상에서, 공간 검색이 복수의 다른 검색 레벨들에서 수행된다. 그 조잡한 검색 위상은 또한 "이전의 공간 검색 위상"으로서 생각될 수 있다.
특정 실시예에서, 세개의 가장 높을 것같은 벡터 후보들은 다음과 같다. 추정된 제 1의 베스트 모션 벡터 후보는 (0, 0) 즉, 기준 프레임에서 동일한 매크로블록(macroblock)의 벡터 후보이다. 그 실시예에서, 사용된 검색 추정 매트릭은 SAD이다. SAD가 특정 임계값("384"로 설정된 실시예에서) 이하일 경우, 어떤 상당한 이득도 모션 추정 절차로부터 기대될 수 없으며, 그러므로 그 기능은 즉시 종료된다. 이러한 결정을 완전히 이용하기 위해서, 콜링(calling) 기능은 VCAP "코딩하지 않음" 명령으로 복귀된 낮은 오차 값을 번역해야 하며, 동작 추정뿐만 아니라 전향 DCT(forward DCT)를 뛰어 넘어야 한다. 이러한 측정만으로 계산 시간 및 계산 노력에서의 상당한 절약을 초래할 수 있다. 이러한 관계에서, H.261 코딩 응용들에서의 전체의 계산적 부하의 대략 60%가 모션 추정 과정에 기인한다. 거의 모든 화상 회의(videoconferencing) 응용들에서의 매크로블록들의 상당한 부분(예를 들어, 매크로블록들의 33%)이 간단히 "보충될 수" 있으므로, 어떠한 처리 시간 및 어떠한 계수 데이터도 거의 요구하지 않는다. 그러므로, 앞서 기재된 측정은 모션 추정의 계산적 부하를 상당량만큼 잠재적으로 감소시킨다.
추정된 제 2의 가장 높은 벡터 후보는 이전 프레임에서 동일한 매크로블록의 벡터 후보이다. 이러한 선택은 모션이 특정 영역에서 전체 몇몇 프레임들과 레이트 및 방향이 종종 일치한다는 사실에 기초하며, 한 프레임에서 겪은 모션은 다음 프레임에서의 모션과 크게 관련된다.
추정된 제 3의 가장 높은 벡터 후보(프레임의 왼쪽 모서리에서의 매크로블록들을 제외한)는 동일한 프레임에서의 선행하는 매크로블록에 대해 결정된 모션 벡터이다. 다시, 이러한 선택은 모션에서의 영역이 하나의 매크로블록보다 클 경우, 매크로블록들의 전체 그룹이 유사한 모션 벡터들을 가질 것이라는 사실에 기초한다.
본 발명의 제 3의 새로운 양상에 따르면, 서로와는 별개로 60°이격된 6개의 후보들이 도 3에 도시된 바와 같이, 좋은 검색 위상의 처음 두개의 검색 레벨들 각각으로 추정된다. 두개의 "6각(hexagonal)" 검색 패턴들이 처음 두개의 검색 레벨들에서 연속적으로 추정된다. 제 1 검색 패턴은 네개의 공액 쌍을 갖는 (x, y) 좌표들((4, 0), (2, 3)) 및 네개의 공액 쌍을 갖는 (x, y) 죄표들((2, 0), (1, 2))을 갖는다. 모든 8개의 주변 좌표들은 제 3 검색 레벨로 추정된다. 비교를 위해, 고전 계급 검색(classic hierarchical search)은 (1 + 8 + 8 + 8 + 8 = 33) SAD 추정들을 수행하는 반면에, 본 발명의 모션 추정 알고리즘에 의해 사용되는 예시적인 검색은 조잡한 검색 위상(즉, 공간 검색에 우선하는), (3 + 6 + 6 + 8 = 23) SAD 추정들을 포함하는 최소량을 수행한다. 그러나, 이러한 추정들의 대부분이 앞서 기재된 추정 중지 계획에 의해 지속 기간까지 감소될 것이라는 것이 이해될 것이다.
본 발명의 제 4의 새로운 양상에 따르면, 각각의 검색 레벨에서 수행된 검색은 검색 영역의 중심에 보다는 차라리 식별된 베스트 후보에 집중된다. 이러한 방법으로, 오차 표면은 그것이 유도하는 임의의 방향으로의 기울기에 따라서, 그것이 분석될 때, "내리막(downhill)"으로 기울어진다. 특히, 각각의 검색 레벨에서 수행된 검색은 새로운 최소의 오차값(즉, 앞서 식별된 베스트 오차값보다 낮은)을 갖는 모션 벡터 후보가 식별될 때마다, "재진입"하며, 그 위치는 추정들 즉, 서로로부터 분리되어 60°이격된 6개의 후보들의 또 다른 집합의 중심이 된다. 그 추정들은 가장 최근의 "베스트" 모션 벡터 후보가 6개의 "하위의(inferior)" 모션 벡터후보들(이후 분명해 지듯이, 좋은 검색 위상의 제 3 레벨에서는 8개)에 의해 둘러싸여 있음이 결정될 때까지, 이러한 방법으로 계속한다. 텔레비전 회의 응용에서 대부분을 구성하는 작은 벡터들(예를 들어, 제로 오차 값의 부근에서)이 재진입을 완료하기 위해서 단지 소수의 부가적인 추정들만을 요구할 것이다. 큰 벡터들은 더 많은 추정들을 요구할 것이지만, 그들은 드물다.
이러한 방법으로, 진실된 "글로벌(global)" 최소 오차값을 갖는 모션 벡터 후보가 발견되거나, 또는 "로컬(local)" 최소 오차값으로 공지된 것을 갖는 모션 벡터 후보가 발견될 것이다. 어느 하나의 경우, 몇가지 모션 보상 이득이 생길 것이지만, 물론, 진실의 "글로벌" 최소 오차값을 갖는 모션 벡터 후보가 발견되지 않을 경우, 이러한 이득은 감소될 것이다. 이러한 수단에 의해, 비교적 작은 제 1 검색 패턴은 리모트 최소(remote minimum)에 대해 오차 표면 기울기를 신속히 따를 수 있다. 이러한 영역에서, 모션 추정 알고리즘은 전체 검색 공간을 규칙적으로 (methodically) 카탈로깅(cataloguing)하는 것보다 차라리 가장 작은 최소를 위치시키는 시간을 소비해야 한다.
이러한 "쇼트컷(shortcut)"은 몇가지 오차의 경향이 있을 수 있는 반면, 화상 회의 응용의 관계에 있어서의 전체 성능은 이러한 응용에서 비디오 데이터의 통계학적 행동에 의하여 강화된다. 예를 들어, 오차 표면이 동쪽 및 서쪽 방향들에서 보다 낮은 경우, 그 방향이 간단히 우선적으로 추정되기 때문에, 서쪽 방향에서의 최소들(minima)은 동쪽 방향으로 오차 표면을 따르는 것을 보다 어렵게 한다는 것이 보다 잘 식별될 것이다. 그럼에도 불구하고, 심지어는 이것에서 발견될 수 있는폴스(false) 최소, 및 이와 유사한 경우들이 작은 값을 갖는 경향이 있을 것이므로, 그 오차의 반대의 결과를 완화시킨다.
본 발명의 제 5의 새로운 양상에 따르면, 추정들의 각각의 집합에 대해, 검색 범위 또는 구역이 예를 들어, 단지 특정된 픽셀 옵셋(검색 범위) 내의 단지 모션 벡터 후보들이 감소되고, 예를 들어, 가장 최근에 식별된 "베스트" 모션 벡터 후보의 위치로부터 +/- 4개의 픽셀들이 추정된다. 이러한 기술은 최적의 모션 벡터들의 압도적인 대다수가 작은 벡터 값들을 가질 것이기 때문에, 모든 검색 시퀀스의 시작에서 6개의 매우 먼 후보들을 추정하는 것은 프로세서 자원에 극히 낭비적이라는 관찰에 기초한다. 비록 경계 검색 범위가 큰 벡터 값들과 모션 벡터들을 빠르게 식별하는 데에 매우 효과적일지라도, 이러한 드문 경우에서의 레이트는 너무 높은 가격에 도달한다. 감소된 검색 범위 기술은 대부분의 경우에서 여전히 최적의 모션 벡터들의 식별을 초래한다. 트루 최소가 보다 먼 대부분의 경우에서, 최소의 일반적인 방향으로 제 1 레벨 후보가 제로 후보보다 다 작은 값을 가질 것이라 가정되며, 그 검색은 그 지점으로부터 확장될 것이다. 물론, 임의의 정해지지 않은 오차 표면 지형학이 가능하며, 몇가지 경우에서, 그 가정은 실패할 알고리즘이 리모트 최소를 위치시키도록 야기하는 폴스(false)로 입증될 것이다. 이러한 관계에서, 본 발명의 모션 추정 알고리즘이 성공을 보장하지 않음이 승인되어야 하지만, 오히려, 성공의 가능성을 최대화하도록 시도한다. 모든 알고리즘의 양상이 확실성이 아니라 통계학적 가능성들에 기초하고, 많은 성능이 훨씬 더 거대한 작은 벡터 최소들을 위치시키는 가능성을 증가시킴으로써 달성되는 반면, 훨씬 더 드문 큰 벡터 최소들을 위치시키는 가능성을 약간 감소시킨다.
본 발명의 제 6의 새로운 양상에 따르면, 검색 패턴은 검색 히스토리(search history)에 기초하는 발견적 방법으로 적응적으로 변경된다. 고전의 계층적 검색 패턴은 어떠한 변경도 없이 좌(left)에서 우(right), 상(top)에서 하(bottom)이다. 본 발명의 알고리즘의 재진입 양상은 검색 히스토리에 따른 검색 시퀀스를 변경시키기에 유리하게 한다. 간단한 경우를 취하기 위해, "서쪽" 후보가 우선 추정되면, "동쪽" 후보가 가장 작은 것으로 발견되며, 그 검색 패턴은 발견(즉, 동쪽 후보)되어 다시 시작된 최적의 벡터에서 리센터링될 수 있다. 이어서, 그 검색 패턴은 이러한 발견(finding)들을 고려하도록 적응적으로 변경될 수 있다. 이 점에 있어서, 검색의 리센터링에 앞서 오래된 "센터(center)" 후보이기 때문에, 그 알고리즘은 "동쪽" 후보와 추정들의 다음 집합을 시작하고, 새로운 "서쪽" 후보를 재추정하지 않는 지능을 갖도록 프로그램된다. 일반적으로, 본 발명의 알고리즘은 되풀이되는 처리를 피하기 위해 이전의 추정들로부터 얻어진 지식을 이용하고, 검색 효율을 최대화하기 위해 그 검색을 적응적으로 변경하도록 프로그램된다. (좋은 검색 위상의) 세가지 검색 레벨들 각각이 6 또는 8 방향으로 개별적으로 이동되는 검색 센터로 여러번 재진입될 수 있기 때문에, 벡터 어레이는 사실상 수백개의 검색 패턴들로 추정될 수 있고, 마주친(encountered) 특정 오차 표면에 각각 최적화될 수 있다.
본 발명의 제 7 새로운 양상에 따르면, 모션 추정 알고리즘은 소프트웨어 수행 상태 머신에 의해 실행된다. 검색 지능(search intelligence)은 기능(stseq)에의해 지적되는 512-워드 메모리 공간에 거주한다. 자신의 어드레스들에 포함된 메모리 공간이 간단히 상태 머신을 정의한다. 검색 패턴을 정의하는 소스 코드는 초기화 시에 단지 한번 실행될 필요가 있다.
검색 시퀀스 내의 임의의 지점에서, 추정될 다음 벡터 후보에 대한 적절한 x, y 위치들은 512-워드 메모리 공간으로부터 판독된 하나로 사용가능해 진다. 검색 시퀀스 내의 임의의 지점에서, 메모리 (버퍼) 어드레스의 MSB(Most Significant Bit)를 형성하는 단일 "테스트(test)" 비트의 극성('1' 또는 '0')에 의존하여 두 벡터들 중 하나가 판독된다. 통상적으로, "테스트" 비트는 새로운 "베스트" 후보 벡터가 발견되었음을 지시한다; 다른 경우들에서, 그것은 두개의 가장 최근의 추정들 간의 비교의 결과를 지시한다. 이러한 방법으로, 각각의 테스트 지점에서, 2진 선택이 다음에 추정될 두개의 포텐셜 벡터 후보들 간에 만들어진다. 잔여하는 8개의 어드레스 비트들은 버퍼 그 자체에 의해 공급된다. 주어진 오프셋들의 집합에서 동작(acting) 또는 비교를 위한 요구로서 현재 상태를 번역하는 것 간의 선택이 허용되지 않은 값에 오프셋을 제공함으로써 이루어진다. 이어서 그 어드레스가 구현된다.
임의의 모션 추정 검색 전략이 복잡성의 넓은 범위에 걸쳐 있는 것은 무엇이든지 프로세서 오버헤드 예를 들어, TriMedia 사이클에서 어떠한 비용도 들지 않는 상태 머신 버퍼에서 구체화될 수 있음을 이해해야 한다. 실행 시간은 좋은 후보가 신속하게 위치될 경우 약간의 감소를 갖는 추정에 대해 요구되는 주기로 추정(즉, SAD의 계산)된 시간 동안 벡터 후보들의 수만큼 대충(roughly) 잔여할 것이다. 앞서 기재된 특정 검색 계획은 아마도 훨씬 뛰어난 결과들로 쉽게 구현될 수 있는 무제한적 수의 계획들 중 단지 하나라는 것을 또한 이해해야 할 것이다.
이후, 도 4a 내지 도 4d를 참조하면, 본 발명의 현재 예상되고 있는 바람직한 실시예를 구성하는 앞서 기재된 모션 추정 알고리즘을 설명하는 플로우 차트 도면의 연속적인 부분들을 도시함을 알 수 있다. 도 4a를 참조하면, 그 알고리즘은 단계 10에서 시작하여, 단계 20에서 즉시 제 1 검색 위상으로 간다. 제 1 검색 위상에서, 제 1의 가장 높은 모션 벡터(MV)에 대한 SAD는 단계 30에서 계산된다. 단계 40 에서, 그 SAD가 미리 정해진 임계값, 바람직하게는 이전의 최소 SAD보다 낮은 지의 여부에 대해 결정된다. 만약, 그 결정이 "yes"라면, 그 전체 알고리즘은 단계 50에서 종료된다(exited). 만약, 그 결정이 "no"라면, 그 알고리즘은 단계 60으로 진행하고, 제 2의 가장 높은 모션 벡터(MV) 후보에 대한 SAD가 계산된다. 이어서, 그 알고리즘은 단계 70으로 진행하고, 제 3의 가장 높은 모션 벡터(MV) 후보에 대한 SAD가 계산된다. 다음으로, 단계 80에서, 그 알고리즘은 제 2 검색 위상으로 진행한다.
이후, 도 4b를 참조하면, 그 알고리즘은 단계 90에서, 제 2 검색 위상의 제 1 검색 레벨로 진입한다. 다음으로, 단계 100에서, 서로로부터 분리되어 60°이격된 6개의 MV 후보들이 그러한 MV 후보들 각각에 대한 SAD를 계산함으로써 추정된다. 단계 110에서, SAD가 미리 정해진 임계값보다 낮은 지의 여부에 대해 결정된다. 만약, 그 단계 110에서의 결정이 "yes"라면, 그 검색은 단계 150에서 새로운 베스트 MV 후보, 즉, 새로운 최소의 SAD를 가진 것에서의 검색을 리센터링(re-centering)함으로써 재진입(re-enter)된다. 이어서, 그 알고리즘은 단계 160으로 진행하고, 새로운 베스트 MV 후보를 둘러싸는 그 6개의 새로운 MV 후보들이 추정되며, 그 검색 패턴은 바람직하게는 발견적 방법으로, 적응적으로 변경된다. 그 SAD는 추정된 각각의 새로운 모션 벡터 후보에 대해 계산된다. 이어서, 그 알고리즘은 단계 110으로 귀환한다. 만약, 그 결정이 "no"라면, 그 알고리즘은 단계 130으로 진행하고, 다음 MV 후보가 추정되며, 그 알고리즘은 단계 110으로 귀환한다. 만약, 단계 120에서의 결정이 "yes"라면, 그 알고리즘은 단계 140에서, 제 2 검색 위상의 다음(제 2의) 검색 레벨로 진행한다.
이후, 도 4c를 참조하면, 그 알고리즘은 단계 170에서, 제 2 검색 위상의 제 2 검색 레벨로 진입한다. 다음으로, 단계 180에서, 서로로부터 분리되어 60°이격된 6개의 MV 후보들이 그런한 MV 후보 각각에 대한 SAD를 계산함으로써 추정된다. 단계 190에서, SAD가 미리 정해진 임계값, 바람직하게는 이전의 최소 SAD보다 낮은 지의 여부에 대해 결정된다. 만약, 단계 190에서 그 결정이 "yes"라면, 그 검색은 단계 230에서 새로운 베스트 MV 후보에 대한 검색을 리센터링함으로써 재진입된다. 이어서, 그 알고리즘은 단계 240으로 진행하며, 새로운 베스트 MV 후보를 둘러싸는 그 6개의 새로운 MV 후보들이 추정되고, 그 검색 패턴은 바람직하게는 발견적 방법으로 적응적으로 변경된다. 그 SAD는 추정된 새로운 모션 벡터 후보 각각에 대해 계산된다. 이어서, 그 알고리즘은 단계 190으로 귀환한다. 만약, 그 결정이 단계 190에서 "no"라면, 단계 200에서, 모든 6개의 MV 후보들이 추정되었는 지의 여부에 대해 결정된다. 만약, 그 결정이 단계 200에서, "no"라면, 그 알고리즘은 단계 210으로 진행하고, 다음 MV 후보가 추정되며, 그 알고리즘은 단계 190으로 귀환된다. 만약, 그 결정이 단계 200에서, "yes"라면, 그 알고리즘은 단계 220에서 제 2 검색 위상의 다음(제 3의) 검색 레벨로 진행한다.
이후, 도 4d를 참조하면, 그 알고리즘은 단계 250에서, 제 2 검색 위상의 제 3 검색 레벨로 진입한다. 다음으로, 단계 260에서, 서로로부터 분리되어 45°이격된 8개의 MV 후보들이 그러한 MV 후보에 대한 SAD를 계산함으로써 추정된다. 단계 270에서, SAD가 미리 정해진 임계값 바람직하게는 이전의 최소 SAD보다 적은 지의 여부에 대해 결정된다. 만약, 그 결정이 단계 270에서, "yes"라면, 그 검색은 새로운 베스트 MV 후보, 즉, 새로운 최소 SAD를 갖는 것에 검색을 리센터링함으로써 단계 310에서 재진입된다. 이어서, 그 알고리즘은 단계 320으로 진행하고, 새로운 베스트 MV후보를 둘러싸는 그 8개의 새로운 MV 후보들이 추정되고, 그 검색 패턴은 바람직하게는 발견 방법으로 적응적으로 변경된다. 이어서, 그 알고리즘은 단계 270으로 귀환된다. 만약, 그 결정이 단계 270에서 "yes"라면, 모든 8개의 MV 후보들이 추정되었는지의 여부에 대해 결정된다. 만약, 그 결정이 단계 280에서, "no"라면, 그 알고리즘은 단계 270으로 진행하고, 그 다음 MV 후보가 추정되며, 그 알고리즘은 단계 300에서, 종료된다(exited).
비록, 앞서 기재된 실시예에서 구현되지 않을지라도, 넓은 검색 영역을 에워싸는 제 1 검색 위상 동안, 보다 조잡한 검색 추정 매트릭, 예를 들어 SAD와, 보다 좁은 검색 영역을 에워싸는 제 2 검색 위상 동안, 더 좋은 검색 추정 매트릭, 예를 들어, SSD를 사용하는 것 또한 가능하다. 이러한 방법으로, 빠른 SAD 추정 매트릭은 그 검색 영역이 넓을 때 사용될 수 있고, 보다 계산적 강조의 SSD 추정 매트릭은 그 검색 영역이 좁혀진 후에 사용될 수 있다.
도 5는 본 발명에 따른 비디오 신호 처리 장치를 도시한다. 그 장치는 추정된 모션 벡터들에 의존하지 않는 비디오 신호를 수행하기 위한 모션 추정기(ME)를 포함한다. 그 비디오 신호 처리기는 예를 들어, MPEG 또는 H.261 타입의 디지털 비디오 인코더가 될 수 있다. 비디오 신호 처리기(VSP)는 대안으로 도 5의 비디오 신호 처리 장치의 100Hz 디스플레이(D) 상에 디스플레이되는 100Hz TV 신호를 얻기 위해 필드 레이트 더블러(field rate doubler)와 같은 필드 레이트 변환기가 될 수 있다.
비록, 본 발명이 앞서 상세하게 기재되었을지라도, 많은 변화들 및/또는 변경들 및/또는 관련 기술 분야의 숙련자들에게 나타날 수 있는 본 발명의 기본 발명 컨셉들의 대안의 실시예들이 여전히 첨부 청구항들에 정의되는 바와 같이 본 발명의 정신 및 범위에 포함될 것임을 이해해야 한다.

Claims (15)

  1. 모션 추정을 수행하기 위한 처리에서 현재 화상 내의 픽셀들의 현재 블록에 대한 최적의 모션 벡터를 식별하기 위한 방법에 있어서,
    상기 픽셀들의 현재 블록에 대한 복수의 모션 벡터 후보들을 식별하는 단계와,
    각 모션 벡터 후보에 대해, 상기 픽셀들의 현재 블록의 픽셀들 값들과 픽셀들의 기준 블록 내의 대응하는 수의 픽셀들의 값들 사이의 차이를 나타내는 오차값을 계산함으로써 픽셀들의 현재 블록에 대한 상기 복수의 모션 벡터 후보들을 추정하는 단계(30, 100, 180, 260), 및
    가장 낮게 계산된 오차값을 갖는 상기 모션 벡터 후보를 최적의 모션 벡터로 선택하는 단계를 포함하고,
    상기 추정 단계는, 본질적으로 상기 최적의 모션 벡터 후보가 될 높은 가능성을 갖는 상기 모션 벡터 후보들의 부분 집합을 추정하는 단계(30, 60, 70)를 포함하는 제 1 단계(20) 및 각각의 모션 벡터 후보 추정에 대한 미리 정해진 검색 영역 내의 픽셀들의 다른 기준 블록을 식별하기 위해 기준 화상의 미리 정해진 검색 영역에서 공간 검색(90, 170, 250)을 수행하는 단계를 포함하는 제 2 단계(80)를 포함하는, 최적의 모션 벡터 식별 방법.
  2. 제 1 항에 있어서,
    상기 제 2 위상(80)은 복수의 서로 다른 검색 레벨들(90, 170, 250)에서 수행되는, 최적의 모션 벡터 식별 방법.
  3. 제 1 항에 있어서,
    상기 공간 검색(90, 170, 250)은 적응성 발견적 검색인, 최적의 모션 벡터 식별 방법.
  4. 제 1 항에 있어서,
    상기 모션 벡터 후보들의 부분 집합은,
    상기 현재 화상 내의 픽셀들의 현재 블록의 위치와 동일한 기준 화상 내의 상기 픽셀들의 기준 블록의 위치에 대응하는 제 1 모션 벡터 후보와,
    상기 현재 화상 내의 상기 픽셀들의 현재 블록의 상기 위치와 동일한 이전 블록 내의 상기 픽셀들의 기준 블록의 위치에 대응하는 제 2 모션 벡터 후보, 및
    상기 현재 화상 내의 픽셀들의 선행하는 블록에 대해 미리 결정된 최적의 모션 벡터를 구성하는 제 3 모션 벡터 후보를 포함하는, 최적의 모션 벡터 식별 방법.
  5. 제 4 항에 있어서,
    제 1 모션 벡터 후보에 대한 오차값이 미리 정해진 모션 추정 종결 임계값 이하인 것으로 결정될 경우, 어떤 다른 추정들도 수행되지 않는, 최적의 모션 벡터식별 방법.
  6. 제 1 항에 있어서,
    상기 공간 검색(90, 170, 250)은 상기 공간 검색 내에서 그 지점으로 식별된 베스트 모션 벡터 후보 상으로 공간 검색(150, 230, 310)을 리센터링(re-centering)함으로써 수행되고, 상기 베스트 모션 벡터 후보는 상기 공간 검색 내에서 그 지점에서 발견된 가장 낮은 오차값보다 더 낮은 오차값을 갖는, 최적의 모션 벡터 식별 방법.
  7. 제 1 항에 있어서,
    상기 공간 검색(90, 170, 250)의 검색 패턴이 상기 공간 검색 동안 이루어진 상기 추정들의 결과들에 기초하여 적응적으로 변경되는, 최적의 모션 벡터 식별 방법.
  8. 제 1 항에 있어서,
    상기 방법은, 검색 시퀀스를 정의하는 소스 코드, 및
    미리 정해진 메모리 공간 내의 상태 머신을 형성하는 기능을 포함하는 소프트웨어에 의해 실행되는, 최적의 모션 벡터 식별 방법.
  9. 제 8 항에 있어서,
    상기 검색 시퀀스는 적응 발견적 검색 시퀀스인, 최적의 모션 벡터 식별 방법.
  10. 제 8 항에 있어서,
    상기 소스 코드는 상기 검색 시퀀스 내의 임의의 지점에서, 상기 미리 정해진 메모리 공간으로부터 판독된 싱글(single)을 제조함으로써 추정되도록 다음의 모션 벡터 후보에 대한 적절한 x, y 위치들을 식별하는, 최적의 모션 벡터 식별 방법.
  11. 제 10 항에 있어서,
    상기 소스 코드는 상기 검색 시퀀스 내의 임의의 지점에서, 새로운 베스트 모션 벡터 후보가 식별되었다는 것 또는 상기 두 개의 가장 최근의 추정들 간의 비교의 결과들 중 어느 하나를 지시하는 테스트 비트의 극성(polarity)에 의존하여, 상기 메모리 공간 내의 두 위치들 중 하나를 판독함으로써 추정되도록 다음의 모션 벡터 후보를 식별하는, 최적의 모션 벡터 식별 방법.
  12. 제 1 항에 있어서,
    상기 오차값을 계산하는 동안 상기 오차값을 체킹하는 각각의 모션 벡터 후보를 추정하는 단계, 및 상기 모션 벡터 후보에 대한 오차값이 미리 정해진 임계값을 초과한다고 결정할 시, 상기 모션 벡터 후보에 대한 추정을 중지하는 단계를 더포함하는, 최적의 모션 벡터 식별 방법.
  13. 모션 추정을 수행하기 위한 처리에서 현재 픽쳐 내의 픽셀들의 현재 블록에 대한 최적의 모션 벡터를 식별하기 위한 장치에 있어서,
    상기 픽셀들의 현재 블록에 대한 복수의 모션 벡터 후보들을 식별하기 위한 수단과,
    각각의 모션 벡터 후보에 대해, 상기 픽셀들의 현재 블록의 상기 픽셀들의 값들과 픽셀들의 기준 블록 내의 픽셀들의 대응하는 수의 값들 간의 차이를 나타내는 오차값을 계산함으로써, 상기 픽셀들의 현재 블록에 대한 복수의 모션 벡터 후보들을 추정하기 위한 수단(30, 100, 180, 260), 및
    상기 가장 낮은 계산된 오차 값을 갖는 상기 모션 벡터 후보를 상기 최적의 모션 벡터로서 선택하기 위한 수단을 포함하고,
    상기 추정 수단은 본질적으로 상기 최적의 모션 벡터 후보가 될 높은 가능성을 갖는 상기 모션 벡터 후보들의 부분 집합을 추정하기(30, 60, 70) 위한 제 1 수단(20) 및 각각의 모션 벡터 후보 추정에 대한 미리 정해진 검색 영역 내의 픽셀들의 다른 기준 블록을 식별하기 위해 기준 화상의 미리 정해진 검색 영역 내의 공간 검색(90, 170, 250)을 수행하기 위한 제 2 수단을 포함하는, 최적의 모션 벡터 식별 장치.
  14. 디지털 비디오 인코더에 있어서,
    모션 벡터들을 추정하기 위한 제 13 항에 청구된 바와 같은 장치, 및
    상기 모션 벡터들에 독립하여 압축된 비디오 신호를 발생시키기 위한 수단을 포함하는, 디지털 비디오 인코더.
  15. 비디오 신호 처리 장치에 있어서,
    모션 벡터들을 추정하기 위한 제 13 항에 청구된 바와 같은 장치(ME), 및
    상기 모션 벡터들에 독립하여 비디오 신호를 처리하기 위한 수단(VSP)을 포함하는, 비디오 신호 처리 장치.
KR1020017014977A 2000-03-23 2001-03-13 모션 추정 알고리즘 KR100752530B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/533,487 2000-03-23
US09/533,487 US6567469B1 (en) 2000-03-23 2000-03-23 Motion estimation algorithm suitable for H.261 videoconferencing applications

Publications (2)

Publication Number Publication Date
KR20020025874A true KR20020025874A (ko) 2002-04-04
KR100752530B1 KR100752530B1 (ko) 2007-08-29

Family

ID=24126170

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017014977A KR100752530B1 (ko) 2000-03-23 2001-03-13 모션 추정 알고리즘

Country Status (6)

Country Link
US (1) US6567469B1 (ko)
EP (1) EP1188322A2 (ko)
JP (1) JP2003528500A (ko)
KR (1) KR100752530B1 (ko)
CN (1) CN1177483C (ko)
WO (1) WO2001072045A2 (ko)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633611B2 (en) * 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
US7072398B2 (en) * 2000-12-06 2006-07-04 Kai-Kuang Ma System and method for motion vector generation and analysis of digital video clips
US6654502B1 (en) * 2000-06-07 2003-11-25 Intel Corporation Adaptive early exit techniques in image correlation
US6700996B1 (en) * 2000-06-07 2004-03-02 Intel Corporation Adaptive early exit techniques in image correlation
US6907080B1 (en) 2000-06-07 2005-06-14 Intel Corporation Adaptive early exit techniques in image correlation
US7327787B1 (en) * 2000-11-20 2008-02-05 Intel Corporation Method and apparatus for motion estimation
US20020131500A1 (en) * 2001-02-01 2002-09-19 Gandhi Bhavan R. Method for determining a motion vector for a video signal
US6687301B2 (en) * 2001-03-19 2004-02-03 Fulvio Moschetti Method for block matching motion estimation in digital video sequences
US6891890B1 (en) * 2001-04-24 2005-05-10 Vweb Corporation Multi-phase motion estimation system and method
US6813315B1 (en) 2001-04-24 2004-11-02 Vweb Corporation Motion estimation using multiple search windows
US6934332B1 (en) 2001-04-24 2005-08-23 Vweb Corporation Motion estimation using predetermined pixel patterns and subpatterns
DE60135036D1 (de) * 2001-10-05 2008-09-04 Mitsubishi Electric Corp Verfahren und Vorrichtung zur Kompensation von fehlerhaften Bewegungsvektoren in Bilddaten
KR100450746B1 (ko) * 2001-12-15 2004-10-01 한국전자통신연구원 계층탐색 기반의 혼합형 움직임 추정 장치 및 방법
TW548990B (en) * 2001-12-31 2003-08-21 Univ Nat Chiao Tung Fast motion estimation method using N-queen pixel decimation
KR100846769B1 (ko) * 2002-02-19 2008-07-16 삼성전자주식회사 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
JP2003299040A (ja) * 2002-04-03 2003-10-17 Sony Corp 動きベクトル検出装置及び方法
US7039246B2 (en) 2002-05-03 2006-05-02 Qualcomm Incorporated Video encoding techniques
US7940844B2 (en) 2002-06-18 2011-05-10 Qualcomm Incorporated Video encoding and decoding techniques
US7239721B1 (en) * 2002-07-14 2007-07-03 Apple Inc. Adaptive motion estimation
US7742525B1 (en) * 2002-07-14 2010-06-22 Apple Inc. Adaptive motion estimation
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
KR100490730B1 (ko) * 2002-10-22 2005-05-24 한국전자통신연구원 비디오 영상 압축 시스템에서의 적응적 패턴을 이용한움직임 예측 장치 및 방법
KR100561394B1 (ko) * 2002-12-30 2006-03-16 삼성전자주식회사 영상 부호화 시 부호화 모드 결정 및 관리 장치와 그 방법
US7720151B2 (en) * 2003-02-11 2010-05-18 Texas Instruments Incorporated Motion estimation using early decision for goodness of estimation with quick convergence feedback
US20050013496A1 (en) * 2003-07-16 2005-01-20 Bruls Wilhelmus Hendrikus Alfonsus Video decoder locally uses motion-compensated interpolation to reconstruct macro-block skipped by encoder
KR100579542B1 (ko) * 2003-07-29 2006-05-15 삼성전자주식회사 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법
US9351013B2 (en) * 2003-11-13 2016-05-24 Qualcomm Incorporated Selective and/or scalable complexity control for video codecs
JP2005167976A (ja) * 2003-11-14 2005-06-23 Victor Co Of Japan Ltd 動きベクトル検出装置及び動きベクトル検出プログラム
US7660439B1 (en) 2003-12-16 2010-02-09 Verificon Corporation Method and system for flow detection and motion analysis
KR20070026515A (ko) * 2004-06-14 2007-03-08 모노리스 컴퍼니 리미티드 동영상 부호화 방법 및 동영상 복호 방법
US8111752B2 (en) * 2004-06-27 2012-02-07 Apple Inc. Encoding mode pruning during video encoding
US20050286777A1 (en) * 2004-06-27 2005-12-29 Roger Kumar Encoding and decoding images
US7792188B2 (en) 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
WO2006012383A2 (en) * 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for motion vector prediction in temporal video compression
TWI239474B (en) * 2004-07-28 2005-09-11 Novatek Microelectronics Corp Circuit for counting sum of absolute difference
US20060056511A1 (en) * 2004-08-27 2006-03-16 University Of Victoria Innovation And Development Corporation Flexible polygon motion estimating method and system
DE112004002977T5 (de) * 2004-10-14 2007-09-20 Intel Corporation, Santa Clara Schnelle Multi-Frame-Bewegungsabschätzung mit adaptiven Suchstrategien
US7609765B2 (en) 2004-12-02 2009-10-27 Intel Corporation Fast multi-frame motion estimation with adaptive search strategies
CN102685495B (zh) * 2004-10-14 2015-06-17 英特尔公司 采用自适应搜索策略的快速多帧运动估计
CN101754011B (zh) * 2004-10-14 2013-01-02 英特尔公司 采用自适应搜索策略的快速多帧运动估计方法
JP4504230B2 (ja) * 2005-03-02 2010-07-14 株式会社東芝 動画像処理装置、動画像処理方法、及び動画像処理プログラム
TWI295540B (en) * 2005-06-15 2008-04-01 Novatek Microelectronics Corp Motion estimation circuit and operating method thereof
US8588513B2 (en) * 2005-07-18 2013-11-19 Broadcom Corporation Method and system for motion compensation
US7852940B2 (en) * 2005-10-20 2010-12-14 Qualcomm Incorporated Scalable motion estimation for video encoding
US20070237233A1 (en) * 2006-04-10 2007-10-11 Anthony Mark Jones Motion compensation in digital video
US7830565B2 (en) * 2006-06-27 2010-11-09 Motorola, Inc. Image capture device with rolling band shutter
US20080056367A1 (en) * 2006-08-30 2008-03-06 Liu Wenjin Multi-step directional-line motion estimation
US9307122B2 (en) * 2006-09-27 2016-04-05 Core Wireless Licensing S.A.R.L. Method, apparatus, and computer program product for providing motion estimation for video encoding
JP4961236B2 (ja) * 2007-03-27 2012-06-27 株式会社メガチップス 動き探索方法
US8488676B2 (en) * 2007-05-14 2013-07-16 Himax Technologies Limited Motion estimation method
US8817878B2 (en) * 2007-11-07 2014-08-26 Broadcom Corporation Method and system for motion estimation around a fixed reference vector using a pivot-pixel approach
US8223235B2 (en) * 2007-12-13 2012-07-17 Motorola Mobility, Inc. Digital imager with dual rolling shutters
ATE550879T1 (de) * 2007-12-19 2012-04-15 Dolby Lab Licensing Corp Adaptive bewegungsschätzung
US20090207915A1 (en) * 2008-02-15 2009-08-20 Freescale Semiconductor, Inc. Scalable motion search ranges in multiple resolution motion estimation for video compression
US8831101B2 (en) * 2008-08-02 2014-09-09 Ecole De Technologie Superieure Method and system for determining a metric for comparing image blocks in motion compensated video coding
CN101686393B (zh) * 2008-09-28 2012-10-17 华为技术有限公司 应用于模板匹配的快速运动搜索方法及装置
KR100930744B1 (ko) * 2009-03-04 2009-12-09 엘지전자 주식회사 모션 벡터 예측 방법
KR100920628B1 (ko) * 2009-03-04 2009-10-08 엘지전자 주식회사 모션 벡터 예측 방법
TWI384865B (zh) * 2009-03-18 2013-02-01 Mstar Semiconductor Inc 影像處理之方法及電路
JP5091994B2 (ja) * 2010-09-02 2012-12-05 株式会社東芝 動きベクトル検出装置
EP3554078A1 (en) 2010-12-13 2019-10-16 Electronics and Telecommunications Research Institute Method and device for determining reference unit
EP3751854B1 (en) * 2011-05-24 2023-05-10 Sun Patent Trust Image encoding method, image encoding apparatus, image decoding method, image decoding apparatus
LT3282707T (lt) * 2011-06-27 2018-11-26 Samsung Electronics Co., Ltd. Judesio informacijos dekodavimo būdas
WO2013005917A1 (ko) * 2011-07-06 2013-01-10 에스케이플래닛 주식회사 멀티캐스트 기반 컨텐츠 전송 시스템과 방법, 및 고속 움직임 추정을 위한 장치와 방법
US9571833B2 (en) 2011-11-04 2017-02-14 Nokia Technologies Oy Method for coding and an apparatus
JP6110724B2 (ja) * 2013-05-01 2017-04-05 日本放送協会 画像処理装置、符号化装置、及び符号化プログラム
TWI472231B (zh) 2013-11-27 2015-02-01 Ind Tech Res Inst 用於移動估計的視訊前處理方法與裝置
US9838710B2 (en) * 2014-12-23 2017-12-05 Intel Corporation Motion estimation for arbitrary shapes
FR3051309A1 (fr) * 2016-05-10 2017-11-17 Bcom Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
CN111372085B (zh) * 2018-12-25 2021-07-09 厦门星宸科技有限公司 影像解码装置与方法
CN116074533B (zh) * 2023-04-06 2023-08-22 湖南国科微电子股份有限公司 运动矢量预测方法、系统、电子设备及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2079434A1 (en) * 1991-09-30 1993-03-31 Derek Andrew Motion vector estimation, motion picture encoding and storage
US5594813A (en) * 1992-02-19 1997-01-14 Integrated Information Technology, Inc. Programmable architecture and methods for motion estimation
KR0160618B1 (ko) * 1992-10-27 1999-01-15 윤종용 실시간 움직임 추정장치 및 그 방법
JPH07115646A (ja) * 1993-10-20 1995-05-02 Sony Corp 画像処理装置
US5594504A (en) * 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
KR0178231B1 (ko) * 1995-08-10 1999-05-01 배순훈 계층적인 움직임 추정 기법을 이용하는 움직임 벡터 검출 방법 및 장치
US5696836A (en) * 1995-03-17 1997-12-09 Lsi Logic Corporation Motion estimation processor architecture for full search block matching
JP3764505B2 (ja) * 1995-03-20 2006-04-12 株式会社大宇エレクトロニクス 階層的動き推定を採用した動きベクトル決定方法
US5575286A (en) 1995-03-31 1996-11-19 Siemens Medical Systems, Inc. Method and apparatus for generating large compound ultrasound image
KR100207390B1 (ko) * 1995-09-15 1999-07-15 전주범 계층적인 움직임 추정기법을 이용하는 음직임 벡터 검출방법
US5751838A (en) 1996-01-26 1998-05-12 Nec Research Institute, Inc. Correction of camera motion between two image frames
US5790207A (en) * 1996-03-14 1998-08-04 Daewoo Electronics, Co., Ltd. Motion compensation method for use in an image encoding system
US5717478A (en) * 1996-06-07 1998-02-10 Besicorp Group Inc. Photovoltaic module with liquid crystal display indicator
US5721595A (en) * 1996-06-19 1998-02-24 United Microelectronics Corporation Motion estimation block matching process and apparatus for video image processing
JPH1079947A (ja) * 1996-09-03 1998-03-24 Mitsubishi Electric Corp 動きベクトル検出装置
FR2757296B1 (fr) * 1996-12-13 2001-10-12 Sgs Thomson Microelectronics Procede et dispositif d'estimation de mouvement de portions d'images pour circuit de compression d'images mobiles
JP3631868B2 (ja) * 1996-12-20 2005-03-23 株式会社東芝 動きベクトル検出装置および方法
TW361051B (en) * 1997-01-09 1999-06-11 Matsushita Electric Ind Co Ltd Motion vector detection apparatus
ES2169507T3 (es) * 1997-03-14 2002-07-01 Telecom Italia Lab Spa Circuito para estimacion del movimiento en codificadores de secuencias de video digitalizadas.
US6041078A (en) 1997-03-25 2000-03-21 Level One Communications, Inc. Method for simplifying bit matched motion estimation
US6418166B1 (en) * 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern

Also Published As

Publication number Publication date
KR100752530B1 (ko) 2007-08-29
CN1177483C (zh) 2004-11-24
EP1188322A2 (en) 2002-03-20
US6567469B1 (en) 2003-05-20
JP2003528500A (ja) 2003-09-24
WO2001072045A2 (en) 2001-09-27
CN1381145A (zh) 2002-11-20
WO2001072045A3 (en) 2002-01-03

Similar Documents

Publication Publication Date Title
KR100752530B1 (ko) 모션 추정 알고리즘
US6414995B2 (en) Motion vector detection system
US7580456B2 (en) Prediction-based directional fractional pixel motion estimation for video coding
JP5044568B2 (ja) 予測誘導間引き探索を使用する動き推定
EP1147668B1 (en) Improved motion estimation and block matching pattern
KR950009699B1 (ko) 움직임벡터 검출방법 및 장치
US20060008008A1 (en) Method of multi-resolution based motion estimation and recording medium storing program to implement the method
US6947603B2 (en) Method and apparatus for hybrid-type high speed motion estimation
JP4528441B2 (ja) ブロック整合法及び統合投射法を用いた階層的動き評価処理及び装置
US20130230099A1 (en) Standards-compliant model-based video encoding and decoding
Paul et al. Video coding using the most common frame in scene
US7953153B2 (en) Motion estimation method utilizing modified rhombus pattern search for a succession of frames in digital coding system
KR20010071705A (ko) 디지털 비디오를 위한 이동 추정 방법 및 장치
KR100843418B1 (ko) 화상 부호화 장치 및 화상 부호화 방법
KR20070088322A (ko) 움직임 벡터 산출 장치 및 움직임 벡터 산출 방법
KR20050055553A (ko) 동영상 부호화를 위한 움직임 추정 방법 및 이를 구현하기위한 프로그램이 기록된 기록 매체
US20050135481A1 (en) Motion estimation with scalable searching range
JP4669517B2 (ja) 動き推定の実現方法
KR100984953B1 (ko) 데이터 검색 방법과 장치 및 이를 포함하는 비디오 재생장치
US8279936B1 (en) Method and apparatus for fractional pixel expansion and motion vector selection in a video codec
US20050105620A1 (en) Motion vector detecting device and motion vector detecting program
KR100335434B1 (ko) 움직임 추정방법
Hosur Motion adaptive search for fast motion estimation
US6925125B2 (en) Enhanced aperture problem solving method using displaced center quadtree adaptive partitioning
JP2000350209A (ja) リアルタイム動映像符号化のための高速動き推定方法及びその装置

Legal Events

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

Payment date: 20120813

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130808

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee