KR0180161B1 - 움직임 벡터 처리 장치 및 그 방법 - Google Patents

움직임 벡터 처리 장치 및 그 방법 Download PDF

Info

Publication number
KR0180161B1
KR0180161B1 KR1019950022594A KR19950022594A KR0180161B1 KR 0180161 B1 KR0180161 B1 KR 0180161B1 KR 1019950022594 A KR1019950022594 A KR 1019950022594A KR 19950022594 A KR19950022594 A KR 19950022594A KR 0180161 B1 KR0180161 B1 KR 0180161B1
Authority
KR
South Korea
Prior art keywords
motion vector
motion
frame
motion estimation
estimation
Prior art date
Application number
KR1019950022594A
Other languages
English (en)
Other versions
KR970009418A (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 KR1019950022594A priority Critical patent/KR0180161B1/ko
Publication of KR970009418A publication Critical patent/KR970009418A/ko
Application granted granted Critical
Publication of KR0180161B1 publication Critical patent/KR0180161B1/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
    • H04N19/513Processing of motion vectors
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence

Abstract

본 발명은 움직임 백터 처리 장치 및 그 방법에 관한 것으로, 본 발명의 장치는 원래의 화상을 데시메이션하는 데시메이터(10)와; 상기 데시메이션된 화상중 기준 프레임에 해당되는 화상을 저자하는 제 1 프레임 메모리(12); 저해상도 움직임 추정을 행한 후 움직임 백터를 출력하는 제 1 움직임 추정부(14); 상기 움직임 백터를 미리 제한하는 움직임 백터 제어부(16); 원래 데이타를 지연시키는 프레임 지연부(18); 지연된 프레임의 원래 데이타를 저장해놓은 제 2 프레임 메모리(20); 및 고해상도 움직임 추정을 행한 후 움직임 백터를 출력하는 제 2 움직임 추정부(22)로 구성되고, 본 발명의 방법은 저해상도 움직임 추정을 행한 후의 움직임 백터를 입력하는 제 1 단계(S1); 상기 움직임 백터가 수편 -30 ~ +30 범위 인가를 판단하는 제 2 단계(S2), 제 3 단계(S3); 상기 판단 결과, 수평 -31 또는 -32는 -30으로, 수직 -15 또는 -16은 -14로 만드는 제 4 단계 (S4); 상기 판단 결과, 움직임 백터의 수평 31은 30으로, 수직 15는 14로 만드는 제 5 단계(S5); 출력할 움직임 백터를 입력된 움직임 백터와 같게 만드는 제 6 단계(S6); 최종 움직임 백터를 출력하는 제 7 단계(S7)를 순차적으로 동작하며, 본 발명의 장치와 방법은 저해상도 움직임 추정 후의 움직임 백터를 미리 제한함으로써, 고해상도 움직임 추정을 행한 후에 발생된 움직임 백터가 전체 탐색 범위를 벗어나지 않게 되어 에러를 방지할 수 있다는데 그 이점이 있다.

Description

움직임 백터 처리 장치 및 그 방법
제1도는 2단계 움직임 추정 방식에 따른 블럭도.
제2도는 저행상도와 고해상도 화상에서의 움직임 추정을 나타낸 예시도.
제3도의 (a)는 2단계의 움직임 추정 방식을 간략하게 도시한 블럭도.
(b)는 원 화상과 데시메이션된 화상을 나타낸 예시도.
(c)는 저해상도 움직임 추정시에 구한 움직임 백터를 이용하여 고해상도 움직임 추정하는 것을 나타낸 예시도.
제4도는 본 발명에 따른 움직임 백터 처리 장치의 블럭도.
제5도는 본 발명에 따른 움직임 백터 처리 방법의 흐름도.
제6도는 본 발명에 따른 움직임 추정의 예시도이다.
* 도면의 주요부분에 대한 부호의 설명
10 : 데시메이터 12 : 제 1 프레임 메모리
14 : 제 1 움직임 추정부 16 : 움직임 백터 제어부
18 : 프레임 지연부 20 : 제 2 프레임 메모리
22 : 제 2 움직임 추정부
본 발명은 움직임 백터 처리 장치 및 그 방법에 관한 것으로, 특히 저해상도 움직임 추정을 행한 후 고해상도 움직임 추정을 행하는 2 단계 움직임 추정 방식에 있어서, 고해상도 움직임 추정 후에 발생된 움직임 백터가 전체 탐색 영역을 벗어나지 못하도록 미리 제한하는 움직임 백터 처리 장치 및 그 방법에 관한 것이다.
HDTV(High Definition TV : 고선명 텔레비젼)나 비디오 폰과 같이 MPEG-2(Moving Picture Experts Group-2) 방식을 사용하는 영상 부호기는 영상 복호기로 전송하여야 할 데이타를 줄이기 위하여 여러가지 데이타 압축 과정을 거치게 되는데, 그 데이타 압축 과정 중의 한가지 방법이 움직임 추정(motion estimation)이다.
일반적으로, 움직임 추정이라는 것은 연속되는 영상 신호에서 현재 프레임의 화소들이 이전 프레임의 화소들에 비해 어느 정도 움직였는지를 백터로 표시한 움직임 백터(motion verctor)를 추정하는 것으로서, 전체 영상 데이타를 전송하는 대신에 상기와 같은 움직임 백터를 전송함으로써 전송되는 영상 데이타의 양을 줄이는 영상 데이타 압축 기술을 말한다.
각 방식에서의 움직임 추정 방법에 대해서 살펴보면 다음과 같다.
1) ATRC 방식(ADTV; Advanced TV)
ADTV에 쓰이는 움직임 추정 방식은 MPEG에서 제안된 알고리즘인 반화소(half-pixel)의 정확도를 갖는 블럭 정합 알고리즘(BMA : Block Matching Algorithm)을 채택하고 있다.
블럭 정합 알고리즘(BMA)은 화면의 움직임이 수평 또는 수직으로 평행 이동한 것으로 가정하여 움직임이 일어난 프레임(즉, 현재 프레임)의 블럭 화상이 움직임이 일어나기 전 프레임(즉, 이전 프레임)의 어느 위치에 있는 블럭 화상과 가장 잘 일치하는 가를 추정하여 그 위치를 통해 움직임 백터를 추정하는 방법이다.
ADTV에서 말하는 움직임 추정은 움직임 정도를 나타내는 2차원의 백터를 계산해내는 과정을 말하며 이 백터들을 움직임 백터라 한다.
ADTV에는 2가지의 움직임 추정이 사용되는데 하나는 현재의 화면을 만들기 위해 과거의 화면을 이용하여 포워드 움직임 추정을 하는 것이고, 다른 하나는 현재의 화면을 만들기 위해 미래의 화면을 이용하여 백워드 움직임 추정을 하는 것이다.
두가지 방법 모두 M*N으로 미리 정해진 탐색 구간에서 왜곡이 가장 작은 블럭을 찾아내어 움직임 백터를 알아내게 된다.
많이 쓰이는 오차(또는, 왜곡: distortion) 측정 방법으로는 평균 자승 오차(MSE: Mean Squre Error)와 평균 절대 오차(MAE: Mean Adsolute Error)가 있는데 계산상의 간편함과 하드웨어의 간단함으로 평균 절대 오차(MAE)가 주로 쓰인다.
반화소 움직임 추정은 두단계로 이루어지는데 처음의 탐색은 한화소(integer-pixel) 움직임 백터를 얻기 위함이고 두번째 탐색으로 처음에 얻은 화소 단위 움직임 백터를 중심으로 반화소(half-pixel) 움직임 백터를 구하게 된다.
ADTV에서는 입력되는 영상을 몇가지 종류로 구분하여 프레임별로 나누는데 I-프레임(Intra-frame), P-프레임(Predicted-frame), B-프레임(Bidirectional-predicted frame)이 3가지이고 각 프레임 별 움직임 추정을 살펴보면 다음과 같다.
I-프레임은 움직임 추정을 하지 않아 움직임 백터는 없지만 다른 프레임의 움직임 추정에 쓰이고, P-프레임은 바로 전의 I-프레임 또는 P-프레임을 이용하여 포워드 움직임 추정을 하고 다른 p-프레임이나 B-프레임 움직임 추정에 쓰이며, B-프레임 움직임 추정에 쓰이며, B-프레임은 전후의 I-프레임 또는 P-프레임을 이용하여 포워드 움직임 추정과 백워드 움직임 추정을 하고 또 포워드 움직임 보정된 프레임과 백워드 움직임 보정된 프레임 둘을 합하여 둘로 나눈 보간된 프레임을 만들어 이 3가지 움직임 추정 결과중 이동된 블럭의 차이(DBD : Displaced Block Differece)가 가장 적은 것을 택하여 움직임 백터를 정하게 된다.
DBD의 가장 작은 값이 보간된 것일 경우에는 포워드 움직임 백터와 백워드 움직임 백터 둘 다를 전손하게 된다.
2) G.I사 방식(Digicipher)
G.I사의 Digicipher system 제안서에 나와 있는 움직임 추정 방식은 상기에서 서술한 ATRC사의 ADTV에 사용된 블럭 정합 알고리즘(BMA)과 유사하지만 정확도에 있어서 반화소 움직임 추정을 하지 않기 때문에 ADTV보다 떨어진다.
그외의 다른 점을 살펴보면 우선 백워드 움직임 추정을 하지 않고 포워드 움직임 추정만을 하여 ADTB의 B-프레임이 없다. 즉, Digicipher의 프레임은 I-프레임과 P-프레임만으로 이루어져 있다.
움직임 추정의 단위는 매크로 블러으로 하는데 매크로 블럭은 4*2 Y(휘도신호) 블럭, U(색차신호) 1개 블럭, V(색차신호) 1개 블럭으로 이루어지므로 이 모든 블럭들이 같은 움직임 백터를 가지게 된다.
3) MIT 방식(ATVA-Progressive HDTV)
MIT에서 제안하는 움직임 추정 방법은 시-공 압축 방식(Spatio-temporal constraint)에 바탕을 두는데, 이 방식은 화상의 변위가 프레임간에 일정한 율로 일어났다고 가정하고, 그 변위율과 움직임 백터와의 상관 관계를 나타내는 미분 방정식인 시-공 압축 방정식(Spatio-temporal constraint)을 찾아내어 그 근을 구함으로써 움직임 백터를 추정하고자 하는 방식이다.
이런 방식은 균일한 속도의 전송을 가정으로 하며 물체의 회전, 카메라 줌, 움직임 물체 전송 영역, 다른 움직임 백터를 갖는 다중 물체 움직임에서는 유효하지 않다.
작은 구간 내에서 균일한 움직임 전송을 가정하고 움직임 추정이 불명확한 구간에서 움직임 보상을 억제하더라도 시-공 압축 방정식(Spatio-temporal constraint)에 바탕을 둔 움직임 추정과 보상에 의해 시간적인 상관성이 많이 감소된다.
블럭 정합 알고리즘(BMA)과 비교해서 이 방법은 블럭 크기에 따라 계산량이 크게 줄어들고 노이즈가 있을 때나 없을 때나 잘 수행된다.
움직임 백터는 휘도 신호로부터 추정되고 동일한 움직임 백터는 휘도 신호(Y)와 색차 신호(U,V)에 대해 사용되며, 한 움직임 백터는 매 32*32 화소 크기의 블럭마다 얻어진다.
이전 부호화된 프레임과 움직임 백터로부터 현재 프레임에 대해 예측이 이루어지고 부호화된 현재 프레임과 예측된 것과의 차가 계산되는데 이 차이를 움직임 보상된 차(motion compensated residual)라 한다.
이것은 각각의 Y, U, V 세부분에 대해 얻어지며 상대적으로 화상 프레임에 대해 충분히 큰 에너지를 갖을 때(화면 변화가 있을 때) 움직임 보상이 무효화되고 화상 프레임 자체가 부호화된다.
4) Zenith사와 ATT사 방식(DSC-HDTV)
영상의 특성상 근접한 화소들의 화소값은 일반적으로 매우 근사한 값들로 구성되어 있는데, 그 이유는 물체의 경계 및 윤곽을 나타내는 선내의 화소들이 같은 물체를 표시하는데 사용되기 때문이다.
Zenith사와 ATT사는 이러한 영상의 특성을 이용하여 프레임 영상 데이타의 불필요한 중복성을 제거하므로써 효과적으로 움직임을 추정하는 계층적 움직임 추정(Hierarchical motion estimation) 방법을 사용하였다.
또한, 제1도는 2단계 움직임 추정 방식에 따른 블럭도이고, 제2도는 저해상도와 고해상도 화상에서의 움직임 추정을 나타낸 예시도로서, 전송 채널의 효율을 늘리기 위하여 Zenith사와 ATT사에서는 저해상도 움직임 추정(coarse motion estimation)과 고해상도 움직임 추정(fine motion estimation)의 2단계 움직임 추정을 제안하였었는데 그 제시된 방법을 구체적으로 살펴보면 다음과 같다.
먼저 필터를 사용하여 프레임 영상 신호와 이전 영상 신호의 중복성을 제거한다. 그로 인해, 해상도는 수편, 수직 방향으로 각각 1/2씩 줄어들게 된다.
전체 면적이 1/4로 줄어든 저해상도 영상 신호로부터의 저해상도 움직임 추정(coarse motion estimation)은 32*16(수평*수직) 화소 크기의 블럭 단위로 현재 프레임과 이전 프레임의 화소값 차의 절대 값인 추정 오차를 비교함으로써 이루어지는데, 이때 휘도 성분만을 이용하고 이전 프레임 블럭을 탐색 구간만큼 이동하며 얻은 추정 오차 중 가장 작은것이 그 블럭의 움직임 백터가 된다.
상기와 같은 계층적 저해상도 화상에서의 블럭 매칭은 원래의 고해상도 화상에 사용하였을 때보다 탐색 구간과 블럭 크기가 1/4로 줄어든 저해상도 영상 신호로부터의 저해상도 움직임 추정(coarse motion estimation)은 32*16(수평*수직) 화소 크기의 블럭 단위로 현재 프레임과 이전 프레임의 화소값 차의 절대 값인 추정 오차를 비교함으로써 이루어지는데, 이때 휘도 성분만을 이용하고 이전 프레임 블럭을 탐색 구간만큼 이동하며 얻은 추정 오차 중 가장 작은 것이 그 블럭의 움직임 백터가 된다.
상기와 같은 계층적 저해상도 화상에서의 블럭 매칭은 원래의 고해상도 화상에 사용하였을 때보다 탐색 구간과 블럭 크기가 1/4로 줄어들어 계산량이 현저하게 줄어든다.
고해상도 움직임 추정은 저해상도 화상에서 구한 움직임 백터를 이용하여 원래의 고해상도 화상에서의 움직임 백터로 세분화시킨다.
즉, 저해상도 화상에서의 16*8 블럭 크기와 저해상도 움직임 백터는 원래 해상도의 화상에서 수평, 수직 방향으로 각각 1/2씩 줄어든 것이므로 이들을 모두 2배시키면 원래 화상의 블럭 크기와 움직임 백터가 되게 된다.
이는 다시 8*8의 작은 블럭 크기로 나뉘어지고, 각각의 작은 블럭은 저해상도 움직임 백터를 기점으로 다시 탐색 구간만큼 이동하여 고해상도 움직임 백터를 제2도에 도시한 바와 같이 구한다.
움직임 백터를 이용하여 다음 프레임의 화면을 추정하고 그에 대응되는 움직임 백터를 선택한다.
이것은 움직임 백터를 압축하는데 있어서 비트율을 제한하기 위한 것인데, 채너  밴드 폭의 여백에 따라 저해상도 움직임 백터만을 보내기도 하고 저해상도와 고해상도 움직일 백터를 보내기도 한다.
MPEG-2 방식에 따르는 영상 부호기를 만들 때 움직임 추정 전용 칩을 사용하는 경우가 많은데, 그 움직임 추정 전용 칩에서의 가능한 탐색 범위(search range)가 시스템이 요구하는 탐색 범위보다 매우 작은 경우가 많기 때문에 다량의 움직임 추정 전용 칩을 가지고 병렬 처리하여야 한다.
다시 말해서, MPEG-2 방식에서 사용하는 움직임 추정 방법에서는 움직임 추정을 하는 탐색 영역이 커지면 커질수록 계산량이 늘어나게 되는데, 이러한 탐색 영역이 커지면 커질수록 계산량이 늘어나게 되는데, 이러한 탐색 영역을 만족시키는 움직임 추정 전용 칩이 없기 때문에 많은 양의 움직임 추정 전용 칩을 사용하여 전체 탐색 영역을 만족시키도록 시스템을 설계해야 한다.
그러나, 많은 양의 움직임 추정 전용 칩을 사용하게 되면 시스템의 구현에 큰 문제가 되므로 여러가지 방법을 사용하여 칩의 수량을 줄이게 된다.
제3도의 (a)가 2단계 움직임 추정 방식을 간략하게 도시한 블럭도로서, 첫단계에서는 전체 화상으로부터 데시메미션(decimation; 추림)된 화상에서 대강의 움직임 백터를 구하는 저해상도 움직임 추정(coarse ME)을 수행하고, 두번째 단계에서는 다시 원래의 화상으로 돌아가서 첫단계에서 구한 움직임 백터를 중심으로 일부 영역만 탐색하는 고해상도 움직임 추정(fine ME)을 수행하게 되는데, 본 발명은 여러 움직임 추정 방법 중 상기와 같은 움직임 추정 방법을 채택하게 된다.
상기의 2단계 움직임 추정 방법을 좀더 구체적으로 살펴보면 다음과 같다.
제3도의 (b)는 원 화상과 데시메이션된 화상을 나타낸 예시도로서, 움직임 추정 전용 칩(예를 들어, SGS-Thomson 社의 STI3220)의 수를 줄이기 위하여 즉, 움직임 추정의 계산량을 감소시키기 위해 원래의 화상을 데시메이션 하여 축소시킨 화상을 나타낸 것인데, 수평 방향이 1/4, 수직 방향이 1/4로 축소된 상태에서 움직임 추정을 하는 것이다.
제3도의 (c)는 저해상도 임직임 추정시에 구한 움직임 백터를 이용하여 고해상도 움직임 추정하는 것을 나타낸 예시도로서, a 는 데시메이션된 화상내에서 참조 프레임의 화상과 현재 프레임의 화상에 대한 움직임 추정을 하여 움직임 백터를 구하는 것이고, b 는 상기 데시메이션된 화상에서 구한 움직임 백터를 확대한 후 원래의 화상에 적용하여 다시 움직임 추정을 하는 것이다.
일반적으로 HDTV 등에서 이용되는 탐색 영역은 정수 화소 단위로 수평 -128 ~ +127, 수직 -64 ~ +63을 갖는다.
제3도의 (b)에 도시된 바와 같이 수평, 수직 방향으로 각각 1/4씩 데시메이션된 화상에서 저해상도 움직임 추정을 수행하게 되면, 이때의 탐색 영역은 수평 -32 ~ +31, 수직 -16 ~ +15을 갖게 된다.
상기와 같이 축소된 탐색 영역에서 구한 움직임 백터를 가지고 고해상도 움직임 추정을 할 때에는 상기 움직임 백터를 수평, 수직으로 각각 4배씩 확대시킨 후 원래의 정상적인 화면에서 그 백터를 중심으로 일정 구간 즉, 수평 -8 ~ +7, 수직 -8 ~ +7의 탐색 영역에 대해서 다시 움직임 추정을 수행한다.
일반적인 경우에는 아무런 문제가 생기지 않으나 다음과 같은 경우에는 문제점이 발생된다.
수평 방향에 대해서만 고려해 보면 저해상도 움직임 추정시에 구해진 움직임 백터가 -32, -31 또는 +31일 경우, 고해상도 움직임 추정시 상기 움직임 백터에 4를 곱한 값인 -128, -124, +124를 중심으로 -8 ~ +7의 범위를 다시 탐색하게 된다.
상기와 같은 경우에 고해상도 움직임 추정의 결과가 -129 ~ -136과 +128 ~ +132까지 발생하게 되므로, 시스템이 규정한 최대의 탐색 범위인 -128 ~ +127의 범위를 벗어나게 되어 에러가 발생한다는 문제점이 있다. 이러한 문제점은 수직의 움직임 백터에 대해서도 동일하게 발생된다. 따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 고해상도 움직임 추정시의 탐색 범위를 고려하여 저해상도 움직임 추정을 행한 후에 발생된 움직임 백터  일정 범위내로 미리 제한하므로써, 고해상도 움직임 추정을 행한 후에 발생된 움직임 백터가 전체 탐색 영역을 벗어나지 못하도록 하는 움직임 백터 처리 장치 및 그 방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 움직임 백터 처리 장치는, 저해상도 움직임 추정을 행한 후 고해상도 움직임 추정을 행하는 움직임 추정 방식에 있어서, 원래의 화상을 데시메이션하여 축소시키는 데시메이터와; 저해상도 움직임 추정을 하기 위해 상기 데시메이터에서 축소된 화상중 기준 프레임에 해당되는 화상을 저장하도록 되어 있는 제1프레임메모리;
현재 프레임의 데이타인 참조 프레임 데이타와 상기 제1프레임메모리로부터의 탐색 영역에 해당하는 기준 프레임 데이타를 입력받아 저해상도 움직임 추정을 행한 후 가장 유사한 데이타의 위치를 나타내는 움직임 백터를 출력하는 제1움직임 추정부;
고해상도 움직임 추정시의 탐색 범위를 고려하여 상기 저해상도 움직임 추정 후의 움직임 백터를 미리 제한하도록 되어 있는 움직임 백터 제어부;
상기 저해상도 움직임 추정시에 데이타가 지연되는 것을 고려하여 데시메이션이 안된 프레임의 원래 데이타를 지연시키는 프레임 지연부;
고해상도 움직임 추정을 위해 상기 프레임 지연부에서 지연된 프레임의 원래 데이타를 저장해 놓은 제2프레임 메모리; 및 상기 지연된 프레임의 원래 데이타와 상기 움직임 백터 제어부에서 미리 제한된 움직임 백터에 의해 상기 제2프레임 메모리로부터 읽어들인 데이타로 고해상도 움직임 추정을 행한 후 가장 유사한 데이타의 위치를 나타내는 움직임 백터를 출력하는 제2움직임 추정부로 구성된 것을 특징으로 한다.
또한, 상기와 같은 목적을 달성하기 위한 본 발명의 움직임 백터 처리 방법은, 저해상도 움직임 추정을 행한 후의 움직임 백터를 입력하는 제1단계; 움직임 백터의 수평 성분이 -31 또는 -32 인가를 판단하거나 움직임 백터의 수직 성분이 -15 또는 16인가를 판단하는 제2단계 수직 성분이 15인가를 판단하는 제3단계;상기 제2단계에서 판단한 결과, 움직임 백터의 수평 성분이 -31인 경우에는 30으로 만들거나 움직임 백터의 수직 성분이 -15 또는 -16인 경우에는 14로 만드는 제4단계;
상기 제3 단계에서 판단한 결과, 움직임 백터의 수평 성분이 15인 경우에는 14 로 만드는 제5단계;
상기 제3단계에서 판단한 결과, 움직임 백터의 수평 성분이 -30 ~ +30 범위내에 있고 움직임 백터의 수직 성분이 -14 ~ +14 범위내에 있는 경우 출력할 움직임 백터를 입력된 움직임 백터와 같게 만드는 제6단계;
상기 제4단계, 제5단계 또는 제6단계에서 발생된 움직임 백터를 출력하는 제7단계를 순차적으로 동작하는 것을 특징으로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 대하여 상세히 설명하기로 한다.
제4도는 본 발명에 따른 움직임 백터 처리 장치의 블럭도로서, 본 발명의 움직임 백터 처리 장치는 저해상도 움직임 추정을 행한 후 고해상도 움직임 추정을 행하는 움직임 추정 방식에 있어서, 움직임 추정의 계산량을 줄이기 위해 원래의 화상을 데시메이션하여 축소시키는 데시메이터(10)와; 저해상도 움직임 주정을 하기 위해 상기 데시메이터(10)에서 축소된 화상중 기준 프레임에 해당되는 화상을 저장하도록 되어 있는 제1프레임메모리(12); 현재 프레임의 데이타인 참조 프레임 데이타와 상기 제1프레임메모리(12)로부터의 탐색 영역에 해당하는 기준 프레임 데이타를 입력받아 저해상도 움직임 추정을 행한 후 가장 츄사한 데이타의 위치를 나타내는 움직임 백터를 출학하여 제1움직임 추정부(14); 고해상도 움직임 추정시의 탐색 범위를 고려하여 상기 저해상도 움직임 추정 후의 움직임 백터를 미리 제한하도록 되어 있는 움직임 백터 베어부(16); 상기 저해상도 움직임 추정시에 데이타가 지연되는 것을 고려하여 데시메이션이 안된 프레임의 원래 데이타를 지연시키는 프레임 지연부(18); 고해상도 움직임 추정을 위해 상기 프레임 지연부(18)에서 지연된 프레임의 원래 데이타를 저장해 놓은 제2프레임 메모리(20); 및 상기 지연된 프레임의 원래 데이타와 상기 움직임 백터 제어부(16)에서 미리 제한된 움직임 백터에 의해 상기 제2프레임 메모리(20)로부터 읽어들인 데이타로 고해상도 움직임 추정을 행한 후 가장 유사한 데이타의 위치를 나타내는 움직임 백터를 출력하는 제2움직임 추정부(22)로 구성된다.
또한, 제8도는 본 발명에 따른 움직임 백터 처리 방법의 흐름도로서, 본 발명의 움직임 백터 처리 방법은 저해상도 움직임 추정을 행한 후의 움직임 백터(i,j)를 입력하는 제1단계(S1); 움직임 백터의 수평 성분(i)이 -31 또는 -32인가를 판단하거나 움직임 백터의 수직성분(j)이 -15 또는 -16인가를 판단하는 제2단계(S2), 움직임 백터의 수평 성분(i)이 31인가를 판단하거나 움직일 백터의 수직 성분(j)이 15인가를 판단하는 제3단계(S3); 상기 제2단계(S2)에서 판단한 결과, 움직임 백터의 수평 성분(i)이 -31 또는 -32인 경우에는 -30으로 만들거나 움직임 백터의 수직 성분(j)이 -15 또는 -16인 경우에는 -14로 만드는 제4단계 (S4); 상기 제3단계 (S3)에서 판단한 결과, 움직임 백터의 수평 성분(i)이 31인 경우에는 30으로 만들거나 움직임 백터의 수직 성분(j)이 15인 경우에는 14로 만드는 제5단계(S5); 상기 제3단계(S3)에서 판단한 결과, 움직임 백터의 수평 성분(i)이 -30 ~ +30 범위내에 있고 움직임 백터의 수직 성분(j)이 -14 ~ +14 범위내에 있는 경우 출력할 움직임 백터를 입력된 움직임 백터와 같도록 만드는 제6단계(S6); 상기 제4단계(S4), 제5단계(S5) 또는 제6단계(S6)에서 발생된 움직임 백터를 출력하는 제7단계(S7)를 순차적으로 동작하는 것이다.
이어서, 첨부한 도면을 참조하여 본 발명의 동작과 효과에 대해서 자세히 설명하기로 한다.
제4도에 도시된 바와 같이, 본 발명의 움직임 백터 처리 장치는 저해상도 움직임 추정을 행한 후 고해상도 움직임 추정을 행하는 움직임 추정 방식을 택하고 있기 때문에 데시메이터(10)에서 원래의 화상을 데시메이션하여 축소시키게 되는데, 이로 인해 움직임 추정의 계산량이 감소되어 움직임 추정 전용 칩의 수량도 줄일 수 있다.
상기 데시메이션된 화상중 기준 프레임(anchor frame)에 해당되는 화상을 제1프레임메모리(12)에 저장하게 되는데, 이때 저장된 데이타는 저해상도 움직임 추정(coarse ME)를 위한 것이다.
제1움직임 추정부(14)에서는 현재 프레임의 데이타인 참조 프레임 데이타(reference data)와 상기 제1프레임메모리(12)로부터의 탑생 영역(search range)에 해당하는 기준 프레임 데이타를 입력받아 저해상도 움직임 추정을 행한 후 가장 유사한 데이타의 위치를 나타내는 움직임 백터(i,j)를 출력하게 되는데, 이러한 제1움직미추정(14)는 움직임 추정 전용 칩중의 하니인 SGS-THOMSON 社의 STI3220으로 구형할 수 있다.
움직임 백터 제어부(16)에서는 고해상도 움직임 추정시의 탐색 범위를 고려하여 상기 저해상도 움직임 추정 후의 움직임 백터를 미리 제한하도록 되어 있는데, 이 움직임 백터 제어부(16)의 동작에 대해서 좀더 구체적으로 살펴 보면 저해상도 움직임 추적을 행한 후의 움직임 백터(i,j) 값이 수평 성분 -30 ~ + 30, 수직 성분 -14 ~ +14 의 범위를 벗어난 경우 강제적으로 수평 성분 -32, -32는 -30으로, 수평 성분 +31 은 +30으로 수렴시키고, 수직 성분 -16, -15은 -14로, 수직 성분 +15는 +14로 수렴시켜 제한된 움직임 백터가 출력된다.
프레임 지연부(18)에서는 저해상도 움직임 추정시에 데이타를 지연되는 것을 고려하여 데시메이션이 안된 프레임의 원래 데이타를 지연시킨다.
제2프레임 메모리(20)는 고해상도 움직임 추정용 프레임 메모리로서, 이 메모리(20)에는 상기 프레임 지연부(18)에서 지연된 프레임의 원래 데이타가 저장되어 있다.
제2움직임 추정부(22)는 상기 지영된 프레임의 원래 데이타와 상기 움직임 백터 제어부(16)에서 미리 제한된 움직임 백터에 의해 상기 제2프레임 메모리(20)로 부터 읽어들인 데이타를 가지고 고해상도 움직임 추정을 행한 후 가장 유사한 데이타의 위치를 나타내는 움직임 백터를 출력하게 된다.
제6도는 본 발명에 따른 움직임 추정의 예도로서, 상기 제2움직임 추정부 22 에서 출려되는 움직임 백터는 미리 움직인 백터 제어부(16)에서 제한된 것이기 때문에 제6도에 도시된 바와 같이 항상 수평 성분 128 ~ +127, 수직 성분 -64 ~ +63의 범위내에서 발생하게 되는 것이다.
또한, 제5도를 참조하여 본 발명에 따른 움직임 백터 처리 방법에 대해서 살펴 보면, 제1단계(S1)에서는 저해상도 움직임 추정을 행한 후의 움직임 백터(i,j)를 입력한다.
제2단계(S2)에서는 움직임 백터의 수평 성분(i)이 -31 또는 -32인가를 판단하거나 움직임 백터의 수직 성분(j)이 -15 또는 -16인가를 판단한다.
제3단계(S3)에서는 움직임 백터의 수평 성분(j)이 31인가를 판단하거나 움직임 백터의 수직 성분(j)이 15인가를 판단한다.
제4단계(S4)에서는 상기 제2단계(S2)에서 판단한 결과, 움직임 백터의 수평 성분(i)이 -31 또는 -32인 경우에는 -30으로 만들거나 움직임 백터의 수직 성분(j)이 -15 또는 -16인 경우에는 -14로 만들어 준다.
제5단계(S5)에서는 상기 제3단계(S3)에서 판단한 결과, 움직임 백터의 수평 성분(i)이 31인 경우에는 30으로 만들거나 움직임 백터의 수직 성분(j)이 15인 경우에는 14로 만들어 준다.
제6단계(S2)에서는 상기 제3단계(S3)에서 판단한 결과, 움직임 백터의 수평 성분(i)이 -30 ~ +30 범위내에 있고 움직임 백터의 수직 성분(j)이 -14 ~ +30 범위내에 있고 움직임 백터의 수직 성분(j)이 -14 ~ +14 범위내에 있는 경우 출력할 움직임 백터를 입력된 움직임 백터와 같게 만들어 준다.
제7단계(S7)에서는 상기 제4단계(S4), 제5단계(S5) 또는 제6단계(S6)에서 발생된 움직임 백터를 출력한다.
상기와 같이 제1단계(S1)로부터 제7단계(S7)를 순차적으로 동작하여 저해상도 움직임 추정을 행한 후에 발생된 움직임 백터를 미리 제한하더라도, 그 제한된 움직임 백터로 고해상도 움직임 추정부에서 찾은 범위가 저해상도 움직임 추정에서 요구하는 범위를 포함하고 있으므로 아무런 문제가 생기지 않게 되는 것이다.
이상에서 설명한 바와 같이 본 발명은 저해상도 움직임 추정시 발생한 움직임 백터를 고해상도 움직임 추정을 할 경우의 탐색 범위를 발생한 움직임 백터를 고려하여 미리 제한함으로써 고해상도 움직임 추정을 행한 후에 발생된 움직임 백터가 전체 탐색 범위를 벗어나지 않게 되어 에러 발생을 방지할 수 있다는데 그 효과가 있다.

Claims (2)

  1. 저해상도 움직임 추정을 행한 후 고해상도 움직임 추정을 행하는 움직임 추정 방식에 있어서, 원래의 화상을 데시메이션하여 축소시키는 데시메이터(10)와; 저해상도 움직임 추정을 하기 위해 상기 데시메이터(10)에서 축소된 화상중 기준 프레임에 해당되는 화상을 저장하도록 되어 있는 제1프레임 메모리(12; 현재 프레임의 데이타인 참조 프레임 데이타와 상기 제1프레임 메모리(12)로부터의 탐색 영역에 해당하는 기준 프레임 데이타를 입력받아 저해상도 움직임 추정을 행한 후 가장 유사한 데이타의 위치를 나타내는 움직임 백터를 출력하는 제1움직임 추정부(14); 고해상도 움직임 추정시의 탐색 범위를 고려하여 상기 저해상도 움직임 추정 후의 움직임 백터를 미리 제한하도록 되어 있는 움직임 백터 제어부(16); 상기 저해상도 움직임 추정시에 데이타가 지연되는 것을 고려하여 데시메이션이 안된 프레임의 원래 데이타를 지연시키는 프레임 지연부(18); 고해상도 움직임 추정을 위해 상기 프레임 지연부(18)에서 지연된 프레임의 원래 데이타를 저장해놓은 제2프레임 메모리(20); 및 상기 지연된 프레임의 원래 데이타와 상기 움직임 백터 제어부(16)에서 미리 제한된 움직임 백터에 의해 상기 제2프레임 메모리(20)로부터 읽어들인 데이타를 가지고 고해상도 움직임 추정을 행한 후 가장 유사한 데이타의 위치를 나타내는 움직임 백터를 출력하는 제2움직임 추정부(22)로 구성된 것을 특징으로 하는 움직임 백터 처리 장치.
  2. 저해상도 움직임 추정을 행한 후의 움직임 백터를 입력하는 제1계(S1); 움직임 백터의 수평 성분이 1 또는 -32인가를 판단하거나 움직임 백터의 수직 성분이 -15 또는 -16인가를 판단하는 제2단계(S2); 움직임 백터의 수평 성분이 31인가를 판단하거나 움직일 백터의 수직 성분이 15인가를 판단하는 제3단계(S3); 상기 제2단계(S2)에서 판단한 결과, 움직임 백터의 수평 서분이 -31 또는 -32인 경우에는 -30으로 만들거나 움직임 백터의 수직 성분이 -15 또는 -16인 경우에는 -14로 만드는 제4단계(S4), 상기 제3단계(S3)에서 판단한 결과, 움직임 백터의 수평 성분이 31인 경우에는 30으로 만들거나 움직임 백터의 수직 성분이 15인 경우에는 14로 만드는 제5단계(S5); 상기 제3단계(S3)에서 판단한 결과, 움직임 백터의 수평 성분이 -30 ~ +30 범위내에 있고 움직임 백터의 수직 성분이 -14 ~ +14 범위내에 있는 경우 출력할 움직임 백터를 입력된 움직임 백터와 같게 만드는 제6단계(S6); 상기 제4단계(S4), 제5단계(S5) 또는 제6단계(S6)에서 발생된 움직임 백터를 출려하는 제7단계(S7)를 순차적으로 동작하는 움직임 백터 처리 방법.
KR1019950022594A 1995-07-27 1995-07-27 움직임 벡터 처리 장치 및 그 방법 KR0180161B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950022594A KR0180161B1 (ko) 1995-07-27 1995-07-27 움직임 벡터 처리 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950022594A KR0180161B1 (ko) 1995-07-27 1995-07-27 움직임 벡터 처리 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR970009418A KR970009418A (ko) 1997-02-24
KR0180161B1 true KR0180161B1 (ko) 1999-05-01

Family

ID=19421864

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950022594A KR0180161B1 (ko) 1995-07-27 1995-07-27 움직임 벡터 처리 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR0180161B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6332002B1 (en) 1997-11-01 2001-12-18 Lg Electronics Inc. Motion prediction apparatus and method

Also Published As

Publication number Publication date
KR970009418A (ko) 1997-02-24

Similar Documents

Publication Publication Date Title
JP3393832B2 (ja) 電子ディジタル画像シーケンス再生システムにおける画像データ補間方法
US6618439B1 (en) Fast motion-compensated video frame interpolator
US7058130B2 (en) Scene change detection
EP1057341B1 (en) Motion vector extrapolation for transcoding video sequences
KR100275694B1 (ko) 실시간 동영상 부호화를 위한 초고속 움직임 벡터 추정방법
EP1592248B1 (en) Motion vector estimation employing adaptive temporal prediction
US7203238B2 (en) 3:2 Pull-down detection
GB2435360A (en) Determining motion between video images
JP2002511687A (ja) 動き推定システムおよび方法
WO2009087641A2 (en) System and method for real-time super-resolution
KR100657261B1 (ko) 적응적 움직임 보상 보간 방법 및 장치
JPH11112939A (ja) 画像信号の方式変換方法および装置
KR20010083717A (ko) 움직임 추정 방법 및 장치
JP4083266B2 (ja) 動きベクトルの生成方法および装置
US20040264572A1 (en) Motion prediction compensating device and its method
KR20110036886A (ko) 움직임 추정 반복 탐색의 개선 방법 및 시스템, 다음 탐색 영역의 중심점 결정 방법 및 시스템, 지역적 최소값의 회피 방법 및 시스템
KR100584597B1 (ko) 적응적 가중치를 적용한 움직임 추정 방법 및 그를 적용한프레임 레이트 변환 장치
KR20050080862A (ko) 중첩된 블록 기반 움직임 추정에 의한 움직임 보상 보간방법 및 그를 적용한 프레임 레이트 변환 장치
KR100204478B1 (ko) 전역 움직임에 의한 빈 공간 보상 방법 및 그 장치
EP1386486B1 (en) Detection and proper interpolation of interlaced moving areas for mpeg decoding with embedded resizing
KR100393063B1 (ko) 프레임 레이트 변환 기능을 갖는 비디오 디코더 및 그 방법
KR0180161B1 (ko) 움직임 벡터 처리 장치 및 그 방법
KR0185841B1 (ko) 영상 부호기에서의 움직임 추정 장치
KR100208984B1 (ko) 물체의 윤곽선을 이용한 움직임 벡터 추정 장치
KR0185940B1 (ko) 미세한 움직임 추정 방법 및 그 장치

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: 20111101

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20121101

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee