KR20010084661A - 움직임 추정 방법 및 장치 - Google Patents

움직임 추정 방법 및 장치 Download PDF

Info

Publication number
KR20010084661A
KR20010084661A KR1020000009856A KR20000009856A KR20010084661A KR 20010084661 A KR20010084661 A KR 20010084661A KR 1020000009856 A KR1020000009856 A KR 1020000009856A KR 20000009856 A KR20000009856 A KR 20000009856A KR 20010084661 A KR20010084661 A KR 20010084661A
Authority
KR
South Korea
Prior art keywords
motion vector
motion
vector
vectors
block
Prior art date
Application number
KR1020000009856A
Other languages
English (en)
Other versions
KR100364789B1 (ko
Inventor
홍성훈
Original Assignee
구자홍
엘지전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구자홍, 엘지전자주식회사 filed Critical 구자홍
Priority to KR1020000009856A priority Critical patent/KR100364789B1/ko
Publication of KR20010084661A publication Critical patent/KR20010084661A/ko
Application granted granted Critical
Publication of KR100364789B1 publication Critical patent/KR100364789B1/ko

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B1/00Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways
    • G09B1/02Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways and having a support carrying or adapted to carry the elements
    • G09B1/30Manually or mechanically operated educational appliances using elements forming, or bearing, symbols, signs, pictures, or the like which are arranged or adapted to be arranged in one or more particular ways and having a support carrying or adapted to carry the elements wherein the elements are adapted to be arranged in co-operation with the support to form symbols

Abstract

움직임 추정 방법 및 장치에 관한 것으로서, 특히 주위 블록의 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 확률에 따라 후보벡터로 사용될 블록의 우선 순위를 결정하고, 우선 순위가 높은 블록의 움직임 벡터 순으로 후보벡터를 결정하며, 이때 동일한 값을 갖는 주위 벡터가 후보 벡터로 사용되지 않도록 함으로써, 현재 블록의 움직임과 가장 유사한 블록들의 움직임 벡터들을 현재 블록에 대한 후보벡터로 선택하고, 후보 벡터들이 항상 서로 다른 값을 가지므로 움직임 벡터의 정확도와 수렴 속도가 증가한다. 또한, 프레임마다 주위 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 확률을 계산하여 후보 벡터로 사용될 블록의 우선 순위를 갱신함으로써, 화면전환과 같이 이전 프레임들의 움직임 벡터의 분포와 다른 분포를 갖게 되는 경우에도 잘 대응할 수 있다.

Description

움직임 추정 방법 및 장치{Method for estimating motion and apparatus for the same}
본 발명은 비디오 디코더에 관한 것으로서, 특히 두 개의 영상 프레임사이에서 발생하는 움직임을 추정하는 방법 및 장치에 관한 것이다.
최근 가정용 TV 수신기가 고화질, 고품질화 되면서 수신기에는 두 개의 영상 프레임 사이에서 발생하는 움직임을 추정하고, 이에 의해 얻어진 움직임 벡터 정보를 이용하여 움직임 보상형 디-인터레이싱(de-interlacing), 움직임 보상형 프레임 율(frame rate) 변환, 그리고 움직임 보상형 잡음 제거와 같은 화질 향상 처리를 수행한다. 이와 같이 움직임 보상에 의한 처리를 위해서는 움직임 벡터의 추출을 위한 움직임 추정이 필수적으로 요구된다.
일반적으로 MPEG(Moving Picture Experts Group)등과 같은 영상 부호화에 사용되는 움직임 추정 방식은 현재 영상을 크기가 N x M인 블록들로 나누고, 블록 정합(block matching) 방식에 의해서 현재 블록과 가장 유사한 블록의 위치를 이전 영상으로부터 구하는 블록 정합 방식(BMA: Block Matching Algorithm)을 사용한다. 특히 BMA 방식 중 가장 많이 사용되는 방식은 모든 가능한 후보 벡터(candidate motion vector)들에 대하여 정합을 수행하는 전역 탐색 블록 정합방식(FS-BMA: Full Search Block Matching Algorithm)이다. 이 방식은 움직임 보상된 신호에 의한 예측오차를 최소화시키므로 영상 부호화에 적용 시 수신단으로 전송해야 할 오차신호의 비트량을 크게 낮출 수 있다.
그러나, 상기 FS-BMA 방식은 움직임 벡터를 구하는데 많은 계산량을 요구한다. 예를 들어 움직임 벡터를 구하기 위한 탐색영역(Search Range)이 수평, 수직방향으로 (±10,±10)인 경우 400(=20x20)번의 블록정합이 요구된다. 뿐만 아니라 TV 수신기에서 화질 향상을 위해 적용하는 움직임 보상형 디-인터레이싱, 움직임 보상형 프레임 율 변환 등의 처리에 사용되는 움직임 벡터는 예측오차를 최소화하기보다는 움직임 보상된 결과가 시각적으로 자연스러운 영상이 되도록 하는 것이 중요하다.
이러한 관점에서 움직임 추정을 위한 계산량을 크게 감소시키면서 주위 움직임 벡터들 사이의 상관성을 높이는 블록정합에 의한 3차원 회기형 움직임 추정(3- D recursive motion estimation) 방식이 Gerard de Haan 등에 의해서 제시되었다Gerard de Haan, Paul W.A.C Biezen, Sub-pixel motion estimation with 3-D recursive search block-matching, Signal Processing: Image Communication(6)3 (1994)pp.229-239).
상기 3차원 회기형 움직임 추정 방식은 도 1에 도시한 바와 같이 현재 블록 X의 움직임 벡터 추정에 사용되는 후보벡터로 이미 움직임 추정이 수행된 블록 Sa, Sb, 그리고 T에 할당된 3개의 움직임 벡터를 사용한다. 여기서, Sa,Sb는 공간적 예측을 위한 현재 필드의 블록, T는 공간적-시간적 예측을 위한 이전 필드의 블록이다.
이때, 블록 X가 홀수번째 블록이면 Sa의 움직임 벡터에 업데이트(update) 움직임 벡터를 더한 값을 4번째 후보 벡터로 사용하고, 블록 X가 짝수번째 블록이면 Sb의 움직임 벡터에 업데이트 움직임 벡터를 더한 값을 4번째 후보 벡터로 사용한다. 그리고, 상기 4개의 후보 벡터들 중 예측오차가 가장 적은 벡터를 블록 X의 움직임 벡터로 결정한다. 여기서, 업데이트 움직임 벡터은 실험적으로 미리 구해진 α개의 움직임 벡터들로 구성된 집합으로 인덱스 n은 블록 X가 K번째 블록이면 n = K%a이다(%는 modular 연산).
따라서, 블록 X에 대해서 사용되는 업데이트 움직임 벡터은 α개의 업데이트 움직임 벡터들 중 n 번째 업데이트 움직임 벡터이다. 결국 이 방식은 탐색영역(Search Range)에 무관하게 항상 4개의 후보벡터만을 사용하므로 블록 당 4번의 블록 정합만을 요구한다. 또한 이 방식은 주위 블록들의 움직임 벡터를 후보벡터들로 사용하므로 주의 벡터들 사이의 상관성이 매우 높다.
하지만, 상기된 Gerard de Haan 등에 의해서 제시된 방식(이하 Hann 방식)의 경우, 신뢰할만한 움직임 벡터를 얻기 위해서는 움직임 벡터의 수렴시간이 필요하다. 즉, 현재 블록의 움직임 벡터는 주위 움직임 벡터들을 평가함으로써 얻어지므로 주위 벡터가 신뢰할 수 없는 경우 정확하지 못한 결과가 얻어진다. 따라서, 움직임 추정이 처음 이루어지는 초기 상황이나 화면전환(scene change)이 발생하는 경우는 주의 움직임 벡터들이 신뢰할 수 있는 벡터를 갖기 위한 수렴시간이 필요하다.
이와 같이 종래의 3차원 회기형 움직임 추정 방식(Haan 방식)은 매우 적은계산량과 주위 벡터들 사이의 높은 상관성을 갖는 장점이 있지만, 적합하지 못한 후보 벡터 선정 방식에 의해서 충분히 빠른 수렴 속도와 정확한 움직임 벡터를 구하지 못하는 문제점이 있다.
따라서, 실제 TV 수상기에서 움직임 벡터 정보를 이용하여 움직임 보상형 디-인터레이싱, 움직임 보상형 프레임 율 변환, 그리고 움직임 보상형 잡음 제거와 같은 화질 향상 처리를 수행할 경우 보다 빠르고 정확한 움직임 벡터를 얻는 3차원 회기형 움직임 추정 방식의 개발이 요구된다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 보다 빠른 수렴시간과 정확한 움직임 벡터를 얻도록 하는 움직임 추정 방법 및 장치를 제공함에 있다.
도 1은 종래의 3차원 회기형 움직임 추정의 개념도
도 2의 (a),(b)는 본 발명에 따른 주위 블록들의 움직임 벡터가 현재 블록과 일치하는 확률 측정의 실시예를 보인 도면
도 3은 본 발명의 주위 블록들에 대한 우선 순위를 나타낸 예를 보인 도면
도 4는 본 발명에 따른 움직임 추정 방법을 나타낸 흐름도
도 5는 본 발명에 따른 움직임 추정 장치를 나타낸 구성 블록도
도 6은 도 5의 우선 순위 정보 산출부의 일 예를 보인 상세 블록도
도 7은 도 6의 적중률 갱신부의 상세 블록도
도 8은 본 발명에서 제안한 방식과 Hann 방식에 의해 구해진 움직임 벡터를 이용하여 이동 보상한 경우 PSNR를 나타낸 그래프
도면의 주요부분에 대한 부호의 설명
501 : 움직임 벡터 저장부 502 : 움직임 벡터 출력부
503 : 우선 순위 정보 산출부 504 : 후보 벡터 선택부
505 : 움직임 벡터 결정부
상기와 같은 목적을 달성하기 위한 본 발명에 따른 움직임 추정 장치는, 주위 블록의 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 확률에 따라 후보 벡터로 사용될 블록의 우선 순위를 결정하는 단계와, 우선 순위가 높은 블록의 움직임 벡터 순으로 K(K는 자연수)개의 후보 벡터를 결정하는 단계와, 상기 K개의 후보벡터들 중 하나의 후보 벡터에 업데이트 움직임 벡터를 더하고 그 값을 K+1번째 후보 벡터로 결정하는 단계와, 상기 K+1개의 후보벡터들 중 평가함수를 최소화시키는 벡터를 현재 블록의 움직임 벡터로 결정하는 단계를 포함하여 이루어지는 것을 특징으로 한다.
상기 우선 순위 결정 단계는 프레임마다 주위 블록의 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 확률을 계산하여 후보 벡터로 사용될 블록의 우선 순위를 갱신하는 것을 특징으로 한다.
상기 K개의 후보 벡터 결정 단계에서는 우선 순위대로 읽어들인 움직임 벡터의 값이 현재까지 결정되어 있는 후보 벡터들의 값 중 어느 하나와 일치하면 상기 움직임 벡터를 후보 벡터에서 제외시키는 것을 특징으로 한다.
본 발명에 따른 움직임 추정 장치는, 움직임 벡터 저장부에 이전 프레임의 각 블록에 대한 움직임 벡터와 현재 프레임의 블록 중 이미 움직임 벡터가 산출된 블록의 움직임 벡터를 저장하고, 움직임 벡터 출력부는 상기 움직임 벡터 저장부에서 출력되는 움직임 벡터를 입력받고 우선 순위 정보에 따라 우선 순위가 높은 블록의 움직임 벡터부터 출력하며, 후보 벡터 선택부는 상기 움직임 벡터 출력부에서 우선 순위가 높은 순서대로 출력되는 움직임 벡터들을 입력으로 받아 K+1개의 서로 다른 값을 갖는 후보벡터들을 선택하는 것을 특징으로 한다. 이때, 우선 순위 정보 산출부는 주위 블록의 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 확률에 따라 후보 벡터로 사용될 블록의 우선 순위를 결정하고 그 정보를 상기 움직임 벡터 출력부로 제공하고, 움직임 벡터 결정부는 상기 후보 벡터 선택부에서 선택된 K+1개의 후보 벡터들 중 평가함수를 최소화시키는 벡터를 현재 블록의 움직임 벡터로 결정하는 것을 특징으로 한다.
상기 후보 벡터 선택부는 우선 순위가 높은 블록의 움직임 벡터 순으로 K(K는 자연수)개의 후보 벡터를 결정하고, 상기 K개의 후보벡터들 중 하나의 후보 벡터에 업데이트 움직임 벡터를 더하고 그 값을 K+1번째 후보 벡터로 결정하는 것을특징으로 한다.
상기 우선 순위 정보 산출부는 매 프레임 주기마다 주위 블록의 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 적중률을 입력받아 주위의 블록이 현재 블록과 동일한 움직임 벡터를 가질 확률을 각각 계산하는 다수개의 적중률 갱신부와, 상기 각 적중률 갱신부의 출력을 비교하여 그 값이 큰 블록에 높은 우선 순위를 부여하는 비교기로 구성되는 것을 특징으로 한다.
본 발명은 주위 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 확률에 따라 후보벡터로 사용될 블록의 우선 순위를 결정하고, 우선 순위가 높은 블록의 움직임 벡터 순으로 후보벡터를 결정하며, 후보 벡터들이 항상 서로 다른 값을 가지도록 함으로써, 움직임 벡터의 정확도와 수렴 속도를 증가시키는데 있다.
또한, 프레임마다 주위 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 확률을 계산하여 후보 벡터로 사용될 블록의 우선 순위를 갱신하는데 있다.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.
통상, 현재 블록에 대한 움직임 벡터를 이미 움직임 벡터가 추정된 주위 블록의 벡터를 후보 벡터로 이용하여 구하는 경우 적합한 후보 벡터의 선택은 움직임 벡터의 정확도와 수렴 속도를 증가시킨다. 따라서, 만일 현재 블록의 움직임과 가장 유사한 블록들의 움직임 벡터를 현재 블록에 대한 후보벡터로 선택할 수 있다면 현재 블록에 대한 움직임 벡터의 정확도와 수렴 속도는 증가하게 된다.
도 2의 (a),(b)는 "table tennis"와 "mobile and calendar" 영상 시퀀스에 대하여 FS-BMA 방식으로 구한 움직임 벡터들로부터 현재 블록과 이미 움직임 추정이 수행된 주위 블록들의 움직임 벡터가 일치하는 확률을 나타낸 것으로, 현재 블록과 인접한 블록들이 동일한 움직임 벡터를 가질 확률이 높음을 보여준다(굵은 선으로 표시된 블록들).
따라서, 본 발명은 상기된 결과들로부터 현재 블록의 움직임 벡터와 일치하는 움직임 벡터를 가질 확률이 높은 블록의 우선 순위를 결정할 수 있다.
도 3은 주위 블록들에 대한 우선 순위를 나타낸 예를 보여 준다. 일 예로, 작은 수를 갖는 블록이 우선순위가 높다. 이때, 우선 순위의 블록은 항상 고정시킬 수도 있고, 또는 도 6과 같이 적응적으로 결정할 수도 있다.
이와 같이 결정된 우선 순위에 따라 본 발명에서는 K개의 후보벡터를 결정하는데, 이때 동일한 후보벡터는 발생하지 않도록 함으로써 움직임 벡터의 정확도를 높인다. 이 과정을 예를 들어 설명하면 다음과 같다.
만일, 주위 블록의 움직임 벡터를 미리 우선 순위 순으로 나열한 결과가 아래의 수학식 1과 같고,
현재 블록의 움직임 벡터 추정에서 후보벡터로 사용되는 주위 블록의 움직임벡터 수가 3개(즉, K=3)이면, 최종적으로 후보 벡터로 선택되는 성분은이다. 왜냐하면는 우선 순위가 높은과 동일한 값을 가지므로 후보벡터에서 제외되고,는 우선순위가 높은와 동일한 값을 가지므로 후보벡터에서 제외된다. 결국 K=3인 경우 선택된 후보 벡터의 집합 C는이다.
이와 같이 주위 블록의 움직임 벡터들 중 우선순위를 고려해서 구한 K개의 후보벡터와 이들 중 하나의 후보 벡터에 업데이트 움직임 벡터을 더한 움직임 벡터를 K+1번째 후보 벡터로 사용한다. 그리고, 현재 블록에 최종적으로 할당되는 움직임 벡터는 앞서 구한 K+1개의 후보 벡터 중 평가함수(cost function)를 최소화하는 후보 벡터가 선택된다. 만일, 평가함수가 하기의 수학식 2와 같으면 움직임 보상된 블록과 현재 블록과의 차 신호(displaced block difference)의 절대값의 합을 최소화하는 후보벡터가 현재 블록의 움직임 벡터로 선택된다.
여기서, 연산자 SAD(·)는 현재 블록과 움직임 보상된 블록과의 차신호의 절대값의 합을 출력하는 연산자이고, 집합 C는 선택된 K+1개의 후보 벡터의 집합이다.
도 4는 본 발명에서 제안한 3차원 회기형 움직임 벡터 추정 방법을 보여주는 흐름도이다.
일 예로, 움직임 추정에 사용될 수 있는 주위 블록의 수가 L개이고, 실제로 움직임 추정에 사용되는 후보벡터의 수가 K+1 인 경우 처리과정은 다음과 같다.
우선, 본 발명에서 사용될 초기값 즉, n=1, k=1로 설정하고(단계 401), 후보벡터로 사용될 수 있는 주위 블록의 움직임 벡터를 미리 결정된 우선순위가 높은 순으로 읽는다(단계 402). 예를 들어 도 3의 경우 입력순서는 각 블록에 기입된 숫자 순서와 동일하다. 즉, 작은 수를 갖는 블록이 우선순위가 높다.
이때, 현재 상태가 k번째 후보벡터를 결정하는 경우라면, 단계 403에서는 읽어 들인 움직임 벡터이 현재까지 결정되어있는 후보벡터들과 일치하는 값인지를 확인한다. 만일 이전까지 결정된 k-1개의 후보벡터 가운데과 일치하는 벡터가 없다면을 k번째 후보 벡터인로 결정하고, k값을 하나 증가시킨다(단계 405). 한편, 일치하는 벡터가 있다면 n값을 하나 증가시킨 후(단계404), 단계 402로 되돌아가 새로운 움직임 벡터를 읽어 들인다.
이와 같은 처리에 의해서 주위 블록의 움직임 벡터들 중 K개의 움직임 벡터를 후보벡터로 결정한다(). 즉, 상기 단계 405가 수행되고 나서는 k가 K보다 큰지를 비교하여(단계 406), 크지 않다고 판별되면 아직 주위 블록의 움직임 벡터들 중 K개의 움직임 벡터를 후보벡터로 결정한 경우가 아니므로 단계 404로 되돌아가 상기된 과정을 반복하고, 크다고 판별되면 주위 블록의 움직임 벡터들 중 K개의 움직임 벡터를 후보벡터로 결정한 경우이므로 단계 407로 진행한다.
상기 407 단계에서는 K개의 후보벡터들 중 하나의 벡터에 도 1에서 설명한 업데이트 움직임 벡터를 더한 값을 K+1번째 후보 벡터로 결정한다(). 여기서,이다.
상기 단계 407가 수행되면 마지막으로 상기와 같이 선택된 후보벡터들 중 상기 수학식 2와 같은 평가함수를 최소화시키는 벡터를 현재 블록의 움직임 벡터()로 결정한다(단계 408).
도 5는 본 발명에 따른 3차원 회기형 움직임 벡터 추정 장치의 구성 블록도로서, 이전 프레임의 각 블록에 대한 움직임 벡터와 현재 프레임의 블록 중 이미 움직임 벡터가 산출된 블록의 움직임 벡터를 저장하며 현재 블록의 위치 정보에 따라 현재 블록에 대해서 이웃한 위치에 있는 블록들의 움직임 벡터들을 출력하는 움직임 벡터 저장부(501), 우선순위 정보에 따라 상기 움직임 벡터 저장부(501)에서 출력된 움직임 벡터들 중 우선순위가 높은 블록의 움직임 벡터부터 출력하는 움직임 벡터 출력부(502), 움직임 벡터들의 우선 순위를 결정하여 상기 움직임 벡터 출력부(502)로 출력하는 우선 순위 정보 산출부(503), 상기 움직임 벡터 출력부(502)에서 우선순위가 높은 순서로 출력되는 움직임 벡터들을 입력으로 받아 K+1개의 서로 다른 값을 갖는 후보벡터들을 선택하는 후보 벡터 선택부(504), 및 상기 후보 벡터 선택부(504)에서 선택된 K+1개의 후보 벡터들 중 평가함수를 최소화시키는 벡터를 현재 블록의 움직임 벡터로 결정하는 움직임 벡터 결정부(505)로 구성된다. 이때, 상기 움직임 벡터 결정부(505)에서 결정된 현재 블록의 움직임 벡터는 움직임 벡터 저장부(501)로 피드백되어 다음 블록의 움직임 벡터 결정에 사용되는 주위 움직임 벡터로 사용된다.
이와 같이 구성된 도 5에서 상기 움직임 벡터 저장부(501)는 이전 프레임의 각 블록에 대한 움직임 벡터와 현재 프레임의 블록 중 이미 움직임 벡터가 산출된 블록의 움직임 벡터를 저장한다. 그리고, 상기 움직임 벡터 저장부(501)는 현재 블록의 위치 정보에 따라 현재 블록에 대해서 이웃한 위치에 있는 블록들의 움직임 벡터들을 움직임 벡터 출력부(502)로 출력한다. 즉, 상기 움직임 벡터 저장부(501)에서 출력되는 움직임 벡터들은 우선 순위 정보 산출부(503)의 우선순위 정보에 따라 우선순위가 높은 블록의 움직임 벡터부터 움직임 벡터 출력부(502)를 통해 후보 벡터 선택부(504)로 출력된다. 여기서, 상기 우선순위 정보 산출부(503)는 항상 고정된 우선 순위를 출력할 수도 있고, 도 6에서 설명할 적응적인 방식으로 우선 순위를 결정하여 출력할 수도 있다.
상기 후보 벡터 선택부(504)는 상기와 같이 우선순위가 높은 순서로 나열된 움직임 벡터들을 움직임 벡터 출력부(502)를 통해 입력받아 도 4에서 설명한 바와 같이 K+1개의 서로 다른 값을 갖는 후보벡터들을 선택한후(), 움직임 벡터 결정부(505)로 출력한다.
상기 움직임 벡터 결정부(505)에서는 K+1개의 후보 벡터들 중 평가함수를 최소화시키는 벡터를 현재 블록의 움직임 벡터()로 결정한다. 이때, 상기 움직임 벡터 결정부(505)에서 결정된 현재 블록의 움직임 벡터()는 다시 움직임 벡터 저장부(501)에 저장되어 다음 블록의 움직임 벡터 결정에 사용되는 주위 움직임 벡터로 사용된다.
도 6은 상기 우선 순위 정보 산출부(503)의 상세 블록도이고, 도 7은 도 6의 각 적중률 갱신부의 상세 블록도로서, 매 프레임 마다 적응적으로 움직임 벡터들의 우선순위를 결정하는 예를 보이고 있다.
도 6에서 각 적중률 갱신부는 한 프레임 기간동안 주위 블록의 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 적중률을 입력받는다. 예를 들어, 현재 블록 위치가 (x,y,m+1)인 경우I(x,y,m+1)은 이전 프레임에서 현재 블록의 위치와 동일한 위치의 블록이 현재 블록과 움직임 벡터가 일치한 비율을 나타낸다. 따라서, 매 프레임 주기마다 새로운 적중률을 입력받고, 각 적중률 갱신부에서는 다음과 같은 수학식 3의 연산을 수행하여 주위의 블록이 현재 블록과 동일한 움직임 벡터를 가질 확률을 계산한다.
여기서, α의 범위는 0 <= α <= 1인데 α값이 클수록 프레임마다 변화하는 움직임 벡터 분포의 변화에 민감하게 반응한다. 즉, 도 7은 상기된 수학식 3을 하드웨어로 구성한 것이다.
그리고, 각 적중률 갱신부의 출력은 비교기에서 비교되어 값이 큰 블록에 높은 우선순위를 부여한다.
이와 같은 처리에 의하여 화면 전환등이 발생하여 현재 프레임에 움직임 벡터 분포가 이전 프레임들의 분포와 다른 경우에도 잘 적응할 수 있다.
도 8은 본 발명에서 제안한 방식과 Hann 방식에 의해 구해진 움직임 벡터를 이용하여 이동 보상한 경우 PSNR(Peak Signal to Noise Ratio)를 나타낸 것으로 본 발명의 방식이 정확도와 수렴 속도를 향상시킴을 알 수 있다 . 이 실험의 경우는 고정된 우선순위를 적용하였고 현재 블록의 움직임 벡터 산출에 사용된 후보 벡터의 수는 Hann의 경우와 마찬가지로 4개이다.
따라서, 본 발명은 실제 TV 수상기에서 움직임 벡터 정보를 이용하여 움직임 보상형 디-인터레이싱, 움직임 보상형 프레임 율 변환, 그리고 움직임 보상형 잡음 제거와 같은 화질 향상 처리를 수행할 경우 매우 효과적이다.
이상에서와 같이 본 발명에 따른 움직임 추정 방법 및 장치에 의하면, 주위 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 확률에 따라 후보벡터로 사용될 블록의 우선 순위를 결정하고, 우선 순위가 높은 블록의 움직임 벡터 순으로 후보벡터를 결정하며, 이때 동일한 값을 갖는 주위 벡터가 후보 벡터로 사용되지 않도록 함으로써, 현재 블록의 움직임과 가장 유사한 블록들의 움직임 벡터들을 현재 블록에 대한 후보벡터로 선택하고, 후보 벡터들이 항상 서로 다른 값을 가지므로 움직임 벡터의 정확도와 수렴 속도가 증가하게 된다.
또한, 프레임마다 주위 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 확률을 계산하여 후보 벡터로 사용될 블록의 우선 순위를 갱신함으로써, 화면전환과 같이 이전 프레임들의 움직임 벡터의 분포와 다른 분포를 갖게 되는 경우에도 잘 대응할 수 있다. 특히, FS-BMA 등과 비교하면 계산량을 크게 감소시키므로 구현이 간단해지는 효과가 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.

Claims (10)

  1. 주위 블록의 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 확률에 따라 후보 벡터로 사용될 블록의 우선 순위를 결정하는 단계;
    우선 순위가 높은 블록의 움직임 벡터 순으로 K(K는 자연수)개의 후보 벡터를 결정하는 단계;
    상기 K개의 후보벡터들 중 하나의 후보 벡터에 업데이트 움직임 벡터를 더하고 그 값을 K+1번째 후보 벡터로 결정하는 단계; 그리고
    상기 K+1개의 후보벡터들 중 평가함수를 최소화시키는 벡터를 현재 블록의 움직임 벡터로 결정하는 단계를 포함하여 이루어지는 것을 특징으로 하는 움직임 추정 방법.
  2. 제 1 항에 있어서, 상기 단계에서 주위 블록의 움직임 벡터는
    이전 프레임의 각 블록에 대한 움직임 벡터와 현재 프레임의 블록 중 이미 움직임 벡터가 산출된 블록의 움직임 벡터들인 것을 특징으로 하는 움직임 추정 방법.
  3. 제 1 항에 있어서, 상기 우선 순위 결정 단계는
    프레임마다 주위 블록의 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 확률을 계산하여 후보 벡터로 사용될 블록의 우선 순위를 갱신하는 것을 특징으로하는 움직임 추정 방법.
  4. 제 1 항에 있어서,
    상기 단계에서 평가 함수가 다음의 식에 적용되면, 움직임 보상된 블록과 현재 블록과의 차 신호의 절대값의 합을 최소화하는 후보벡터가 현재 블록의 움직임 벡터()로 결정되는 것을 특징으로 하는 움직임 추정 방법.
    여기서, 연산자 SAD(·)는 현재 블록과 움직임 보상된 블록과의 차신호의 절대값의 합을 출력하는 연산자이고, 집합 C는 선택된 K+1개의 후보 벡터의 집합임.
  5. 이전 프레임의 각 블록에 대한 움직임 벡터와 현재 프레임의 블록 중 이미 움직임 벡터가 산출된 블록의 움직임 벡터를 저장하며 현재 블록의 위치 정보에 따라 현재 블록에 대해서 이웃한 위치에 있는 블록들의 움직임 벡터들을 출력하는 움직임 벡터 저장부;
    우선 순위 정보에 따라 상기 움직임 벡터 저장부에서 출력된 움직임 벡터들 중 우선 순위가 높은 블록의 움직임 벡터부터 출력하는 움직임 벡터 출력부;
    움직임 벡터들의 우선 순위를 결정하여 상기 움직임 벡터 출력부에 우선 순위 정보를 출력하는 우선 순위 정보 산출부;
    상기 움직임 벡터 출력부에서 우선 순위가 높은 순서대로 출력되는 움직임 벡터들을 입력으로 받아 K+1개의 서로 다른 값을 갖는 후보벡터들을 선택하는 후보 벡터 선택부; 그리고
    상기 후보 벡터 선택부에서 선택된 K+1개의 후보 벡터들 중 평가함수를 최소화시키는 벡터를 현재 블록의 움직임 벡터로 결정하며, 상기 결정된 움직임 벡터를 상기 움직임 벡터 저장부에 피드백시켜 저장하는 움직임 벡터 결정부를 포함하여 구성되는 것을 특징으로 하는 움직임 추정 장치.
  6. 제 5 항에 있어서, 상기 후보 벡터 선택부는
    우선 순위가 높은 블록의 움직임 벡터 순으로 K(K는 자연수)개의 후보 벡터를 결정하고, 상기 K개의 후보벡터들 중 하나의 후보 벡터에 업데이트 움직임 벡터를 더하고 그 값을 K+1번째 후보 벡터로 결정하는 것을 특징으로 하는 움직임 추정 장치.
  7. 제 6 항에 있어서,
    상기 K개의 후보 벡터 결정시 우선 순위대로 읽어들인 움직임 벡터의 값이 현재까지 결정되어 있는 후보 벡터들의 값 중 어느 하나와 일치하면 상기 읽어들인 움직임 벡터를 후보 벡터에서 제외시키는 것을 특징으로 하는 움직임 추정 장치.
  8. 제 5 항에 있어서, 상기 우선 순위 정보 산출부는
    매 프레임 주기마다 주위 블록의 움직임 벡터가 현재 블록의 움직임 벡터와 일치하는 적중률을 입력받아 주위의 블록이 현재 블록과 동일한 움직임 벡터를 가질 확률을 각각 계산하는 다수개의 적중률 갱신부와,
    상기 각 적중률 갱신부의 출력을 비교하여 그 값이 큰 블록에 높은 우선 순위를 부여하는 비교기로 구성되는 것을 특징으로 하는 움직임 추정 장치.
  9. 제 8 항에 있어서,
    상기 각 적중률 갱신부에서는 다음의 식을 적용하여 하드웨어를 구성하고, 주위의 블록이 현재 블록과 동일한 움직임 벡터를 가질 확률(O(x,y,m))을 계산하는 것을 특징으로 하는 움직임 추정 장치.
    여기서, α의 범위는 0 <= α<= 1이고,I(x,y,m)은 이전 프레임에서 현재 블록의 위치와 동일한 위치의 블록이 현재 블록과 움직임 벡터가 일치한 비율을 나타냄.
  10. 제 5 항에 있어서, 상기 우선 순위 정보 산출부는
    현재 블록의 움직임 벡터와 일치할 확률이 높은 주위 블록의 움직임 벡터에 대해 우선 순위를 고정시키는 것을 특징으로 하는 움직임 추정 장치.
KR1020000009856A 2000-02-28 2000-02-28 움직임 추정 방법 및 장치 KR100364789B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000009856A KR100364789B1 (ko) 2000-02-28 2000-02-28 움직임 추정 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000009856A KR100364789B1 (ko) 2000-02-28 2000-02-28 움직임 추정 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20010084661A true KR20010084661A (ko) 2001-09-06
KR100364789B1 KR100364789B1 (ko) 2002-12-16

Family

ID=19650759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000009856A KR100364789B1 (ko) 2000-02-28 2000-02-28 움직임 추정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100364789B1 (ko)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438572B1 (ko) * 2001-09-28 2004-07-02 엘지전자 주식회사 움직임 벡터 영역의 적응적 결정 방법
KR100439183B1 (ko) * 2001-08-29 2004-07-05 한국전자통신연구원 확률 샘플링 기반의 움직임 추정 방법
KR100441509B1 (ko) * 2002-02-25 2004-07-23 삼성전자주식회사 주사포맷변환장치 및 방법
KR100774298B1 (ko) * 2007-07-27 2007-11-08 삼성전자주식회사 움직임 벡터 복호화 방법 및 그 장치
KR100774299B1 (ko) * 2007-07-27 2007-11-08 삼성전자주식회사 움직임 벡터 복호화 방법 및 그 장치
KR100774296B1 (ko) * 2002-07-16 2007-11-08 삼성전자주식회사 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
KR100774300B1 (ko) * 2007-07-27 2007-11-08 삼성전자주식회사 움직임 벡터 복호화 방법 및 그 장치
KR100774297B1 (ko) * 2007-07-27 2007-11-08 삼성전자주식회사 움직임 벡터 복호화 방법 및 그 장치
US7336838B2 (en) 2003-06-16 2008-02-26 Samsung Electronics Co., Ltd. Pixel-data selection device to provide motion compensation, and a method thereof
WO2012006889A1 (en) * 2010-07-12 2012-01-19 Mediatek Inc. Method and apparatus of temporal motion vector prediction
WO2012023817A2 (ko) * 2010-08-18 2012-02-23 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법, 및 참조픽처 인덱싱 장치 및 방법
WO2012086963A1 (ko) * 2010-12-22 2012-06-28 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
KR101383540B1 (ko) * 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
US9602813B2 (en) 2010-08-18 2017-03-21 Sk Telecom Co., Ltd. Image encoding/decoding device and method, and reference picture indexing device and method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101377660B1 (ko) 2008-09-30 2014-03-26 에스케이텔레콤 주식회사 복수 개의 움직임 벡터 추정을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439183B1 (ko) * 2001-08-29 2004-07-05 한국전자통신연구원 확률 샘플링 기반의 움직임 추정 방법
KR100438572B1 (ko) * 2001-09-28 2004-07-02 엘지전자 주식회사 움직임 벡터 영역의 적응적 결정 방법
KR100441509B1 (ko) * 2002-02-25 2004-07-23 삼성전자주식회사 주사포맷변환장치 및 방법
KR100774296B1 (ko) * 2002-07-16 2007-11-08 삼성전자주식회사 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
US7336838B2 (en) 2003-06-16 2008-02-26 Samsung Electronics Co., Ltd. Pixel-data selection device to provide motion compensation, and a method thereof
KR101383540B1 (ko) * 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
US9369731B2 (en) 2007-01-03 2016-06-14 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
US9313518B2 (en) 2007-01-03 2016-04-12 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
US9113110B2 (en) 2007-01-03 2015-08-18 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
US9113111B2 (en) 2007-01-03 2015-08-18 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
US9113112B2 (en) 2007-01-03 2015-08-18 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
US8831105B2 (en) 2007-01-03 2014-09-09 Samsung Electronics Co., Ltd. Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method
KR100774300B1 (ko) * 2007-07-27 2007-11-08 삼성전자주식회사 움직임 벡터 복호화 방법 및 그 장치
KR100774299B1 (ko) * 2007-07-27 2007-11-08 삼성전자주식회사 움직임 벡터 복호화 방법 및 그 장치
KR100774298B1 (ko) * 2007-07-27 2007-11-08 삼성전자주식회사 움직임 벡터 복호화 방법 및 그 장치
KR100774297B1 (ko) * 2007-07-27 2007-11-08 삼성전자주식회사 움직임 벡터 복호화 방법 및 그 장치
WO2012006889A1 (en) * 2010-07-12 2012-01-19 Mediatek Inc. Method and apparatus of temporal motion vector prediction
AU2011278851B2 (en) * 2010-07-12 2014-05-08 Hfi Innovation Inc. Method and apparatus of temporal motion vector prediction
US9124898B2 (en) 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
CN102934434B (zh) * 2010-07-12 2016-03-30 联发科技股份有限公司 时间运动矢量预测的方法与装置
CN102934434A (zh) * 2010-07-12 2013-02-13 联发科技股份有限公司 时间运动矢量预测的方法与装置
US9961364B2 (en) 2010-07-12 2018-05-01 Hfi Innovation Inc. Method and apparatus of temporal motion vector prediction
WO2012023817A3 (ko) * 2010-08-18 2012-05-31 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법, 및 참조픽처 인덱싱 장치 및 방법
WO2012023817A2 (ko) * 2010-08-18 2012-02-23 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법, 및 참조픽처 인덱싱 장치 및 방법
US9602813B2 (en) 2010-08-18 2017-03-21 Sk Telecom Co., Ltd. Image encoding/decoding device and method, and reference picture indexing device and method
WO2012086963A1 (ko) * 2010-12-22 2012-06-28 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치

Also Published As

Publication number Publication date
KR100364789B1 (ko) 2002-12-16

Similar Documents

Publication Publication Date Title
US11240406B2 (en) Object tracking using momentum and acceleration vectors in a motion estimation system
KR100364789B1 (ko) 움직임 추정 방법 및 장치
US11539976B2 (en) Motion estimation using collocated blocks
JP4242656B2 (ja) 動きベクトル予測方法及び動きベクトル予測装置
KR101217627B1 (ko) 블록 기반의 움직임 추정 방법 및 장치
KR20030070278A (ko) 적응형 움직임 추정장치 및 추정 방법
KR100226684B1 (ko) 반화소 움직임 추정장치
US5502492A (en) Motion vector detection apparatus
US20050243928A1 (en) Motion vector estimation employing line and column vectors
US5682209A (en) Motion estimation using limited-time early exit with prequalification matrices and a predicted search center
US5754237A (en) Method for determining motion vectors using a hierarchical motion estimation
JP2005318586A (ja) 改良された動きベクトル選択を備える動きベクトル検出
KR20040108053A (ko) 움직임 벡터 생성 장치 및 방법
KR20050097936A (ko) 효과적인 예측 이미지 파라미터 추정
KR20040049214A (ko) 고속 모션벡터 추정장치 및 방법
US20080144716A1 (en) Method For Motion Vector Determination
JP3175914B2 (ja) 画像符号化方法および画像符号化装置
KR20050108397A (ko) 움직임 벡터 결정을 위한 방법
EP1420595B1 (en) Motion vector selection in a video motion estimator based on a preferred reference point
KR970003099B1 (ko) 커버/언커버된 영역을 고려한 이동벡터 추정장치
KR960015392B1 (ko) 반화소단위 패닝벡터 검출장치
KR0129807B1 (ko) 계층 부호화 시스템에서의 움직임 벡터 추정장치 및 방법
KR100413002B1 (ko) 동영상 부호화기의 확산누적배열을 이용한 블록정합 장치및 그 방법
JP3352687B2 (ja) イメージシーケンスのモーションを推定するため及び階層符号化するための方法
JP3352687B6 (ja) イメージシーケンスのモーションを推定するため及び階層符号化するための方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060911

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee