KR19980020898A - 디지탈 비데오 인코더 시스템에서 움직임 예측 방법 - Google Patents

디지탈 비데오 인코더 시스템에서 움직임 예측 방법 Download PDF

Info

Publication number
KR19980020898A
KR19980020898A KR1019960039567A KR19960039567A KR19980020898A KR 19980020898 A KR19980020898 A KR 19980020898A KR 1019960039567 A KR1019960039567 A KR 1019960039567A KR 19960039567 A KR19960039567 A KR 19960039567A KR 19980020898 A KR19980020898 A KR 19980020898A
Authority
KR
South Korea
Prior art keywords
search
processor
search area
motion vector
array
Prior art date
Application number
KR1019960039567A
Other languages
English (en)
Other versions
KR100205146B1 (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 KR1019960039567A priority Critical patent/KR100205146B1/ko
Publication of KR19980020898A publication Critical patent/KR19980020898A/ko
Application granted granted Critical
Publication of KR100205146B1 publication Critical patent/KR100205146B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 어레이 프로세서를 이용하여 이전 프레임의 탐색 영역에 대한 기준 영역의 움직임 벡터를 검출하는 방법으로서, 이전 프레임에 대한 소정 탐색 영역의 픽셀값을 상기 어레이 프로세서에 입력하는 제 1 단계와; 어레이 프로세서에 상기 기준 영역에 대한 픽셀값을 입력하는 제 2 단계와; 탐색 영역에 대한 상기 기준 영역의 움직임 벡터를 검출하는 제 3 단계와; 이전 프레임에 새로운 탐색 영역을 설정하고, 상기 어레이 프로세서에 저장된 탐색 영역과 중복되지 않은 픽셀값만을 새로운 상기 어레이 프로세서에 입력하고, 상기 제 3 단계로 궤환하는 제 4 단계를 구비한다.
즉, 본 발명은 프로세서 어레이를 이용하여 움직임 벡터의 검출시 기준 블록에 중복되지 않는 이전 프레임 데이터들을 프로세서 어레이에 순차적으로 입력하므로써 짧은 시간에 움직임 벡터를 검출할 수 있다는 효과가 있다.

Description

디지탈 비데오 인코더 시스템에서 움직임 예측 방법
본 발명은 디지탈 비디오 인코더 시스템에서의 영상 신호 압축 기술에 관한 것으로서, 더욱 상세하게는 영상 신호의 움직임을 예측하여 압축하는 디지탈 비데오 인코더 시스템에서 움직임 예측 방법에 관한 것이다.
디지탈 비디오 인코더 시스템 개발 기술 중에서 가장 핵심이 되는 기술은 영상 신호의 압축 기술이다. 영상 신호의 압축은 영상 신호에 내재하는 색 신호간 중복성, 공간적 중복성, 시간적 중복성, 통계적 중복성을 제거함으로써 얻어진다. 이중 시간적 중복성 제거를 통해서 가장 많은 압축이 이루어지며, 이를 위해 움직임 추정 및 보상 기법이 사용된다.
움직임 벡터를 구하는 방법중에서 가장 보편적으로 쓰이고 있고, 실재로 제안된 4가지 완전 디지탈 방식중 3 방식이 채택하고 있는 BMA(Blocking Matching Algorithm)는 화면의 움직임이 수평, 수직으로 평행이동한 것으로 가정하여 움직임이 일어난 프레임의 블록 화상이 움직임이 일어나기 전 프레임의 어느 위치에 있는 블록 화상과 가장 일치하는가를 추정하여 그 위치를 통상 움직임 벡터를 추정하는 방법이다.
일반적으로 블록 크기는 8 S8이나 16 S16을 쓰고 있는 것이 보통인데, 이는 블록의 크기를 크게 하면 전송해야 하는 움직임 벡터의 비트율이 떨어지는 대신 블록안에 여러 가지 움직임이 있을 때는 신뢰도가 떨어지는 점을 고려한 블록의 크기이다. 움직임의 범위은 이론적으로 -▲부터 +▲까지 이지만 실질적, 계산 시간이나 하드웨어의 복잡도를 고려하여 그 탐색 구간을 결정하게 된다.
즉, 도 1과 같이 움직임 추정을 해서 구해진 이전 프레임의 블록을 현재 프레임의 블록으로 움직임 보상을 하게 되면 중복성을 제거하게 되는 것이다. 여기서 도 1의 (가)는 다음 프레임을 예측하기 위하여 사용된 이전 프레임의 블록들을 도시한 것이고, (나)는 운동 보상을 위해 현재 블록 위치로 재조정된 이전 프렘의 블록을 도시한 것이다.
수식적으로는, 가장 일치하는 블록을 찾기 위하여, 연속된 두 프레임의 화상 중에서, 이전 프레임을 f1(x,y), 현재 프레임을 f2(x,y)라 했을 때, f2(x,y)와 f1(x-│A,y-│B)에서 │A, │B를 변환시켜가면서 f1(x-│A,y-│B)와 f2(x,y)의 차를 구하여 그 차가 최소가 되는 │A, │B를 움직임 벡터로 예측하는 방법을 쓰게 되는데, 프레임간의 차이를 구하는 식은 평균 절대 오차(Eabs)를 주로 사용한다.
여기서 |B|는 블록 크기를 뜻한다.
이와 같은 움직임 추정을 위한 탐색 영역은 넓으면 넓을수록 더 좋은 성능을 보이며 고화질 텔레비젼과 같이 해상도가 높은 영상의 경우 더욱 더 넓은 탐색 영역을 필요로 하는데 약 수평으로 -128~127 화소, 수직 -32~31 화소의 탐색의 영역을 필요로 한다.
종래에는 이러한 움직임 탐색을 고속으로 실현하기 위하여 2 레벨 탐색 방법 어레이(array) 프로세서 사용을 도입하였다.
이를 구체적으로 이하에서 설명한다.
먼저 2 레벨 탐색이란 저해상도의 프레임에 대하여 움직임 벡터를 대강 찾은 뒤 고해상도의 프레임에 대하여 저해상도에서 찾은 벡터를 중심으로 다시 정교하게 찾는 것이다.
저해상도의 영상을 톱 레벨 영상이라 부르고, 고해상도의 영상을 버텀 레벨이라 부른다. 예를 들어 버텀 레벨의 영상의 해상도가 2048 S1024라고 할 때, 저해상도의 영상은 고해상도의 영상을 1/8로 축소하는 것이라고 하면 해상도가 256 S128이 된다.
탐색 영역이 수평으로 -128~127 화소, 수직으로 -32 ~ 31 화소의 경우 탑 레벨에서는 수평 -16 ~ 15 화소, 수직으로 -4 ~ 3 화소만을 탐색하게 된다. 즉, 고해상도의 영역에서 바로 탐색할 때보다 탐색 영역이 1/(8 S8)로 줄어들게 되며 버텀 레벨에서는 탑 레벨에서 구한 움직임 벡터를 중심으로 수평 -4 ~ 3, 수직 -4 ~ 3 화소만을 탐색하거나 이보다 약간 넓은 영역을 탐색하면 되는데, 대게 탑 레벨에서 탐색한 화소와 같이 수평 -16 ~ 15 화소, 수직으로 -4 ~ 3 화소만을 탐색하게 된다.
프로세서 어레이를 사용하는 경우를 보면, 도 2 에서와 같이 현재 블록(1)에 대하여 이전 프레임의 해당 블록이 어디에 위치하고 있는 가를 찾는 것이 움직임을 찾는 일이다. 해당 블록의 움직임 벡터의 크기가 해상도가 높아짐에 따라 그 크기도 커지게 되므로 계산량이 증가하게 된다.
이렇게 증가되는 계산량을 감당하기 위하여 블록 매칭 프로세서 어레이들을 사용하게 된다.
도 2에서와 같이 블록 매칭을 위한 프로세서 어레이(PE11~PEuv) 들이 u Sv개만큼 모여 있고 각 프로세서 어레이(PE11~PEuv)들은 블록 매칭을 위하여 기준 블록(REF1, REF2,...)과 이전 프레임의 탐색 영역 데이타(FD1,FD2,...)를 입력으로 받아들여 MSE(Mean Square Error) 또는 MAE(Mean Absolute Error)를 각각 한가지 움직임 벡터에 대하여 계산한다.
프로세서 어레이(PE11~PEuv) 수가 u Sv만큼 있으므로 수평으로 u만큼의 움직임과 수직으로 v만큼의 움직임을 예측할 수 있다.
소정 지연 시간(d) 후에 프로세서 어레이(PE11~PEuv)로부터 구해진 MAE 또는 MSE는 출력 콘트롤러(10)에서 비교되고, 출력 콘트롤러(10)는 각 프로세서 어레이(PE11~PEuv)로부터 검출된 MAE 또는 MSE중 가장 작은 값이 가장 작은 MAE/MSE 1, MAE/MSE 2,...와 해당 움직임 벡터(VEC1,VEC2,...) 를 출력하게 된다.
이러한 과정을 예를 들어 설명하면 다음과 같다.
먼저, 도 3 과 같이 움직임 탐색 영역(FD)이 6 S6 픽셀이고, 움직임 탐색을 위한 기준 블록(REF)이 2 S2 픽셀로 구성되어 있다고 가정한다.
이때, 어레이 프로세서(PE11~PEuv)는 움직임 벡터의 수와 같은 5 S5의 개수로 구성할 수 있다. 즉, 움직임 벡터는 도 4와 같이 수평, 수직 방향으로 각각 -2,-1,0,+1,+2인 성분이 존재하므로 25개의 움직임 벡터가 존재할 수 있으며, 이 25개의 움직임 벡터를 검출하기 위하여는 도 5 와 같이 25개의 어레이 프로세서(PE11~PE55)가 사용되어야 하는 것이다.
각 어레이 프로세서(PE11~PE55)는 해당 움직임 벡터에 대하여 탐색 영역(FD)과 기준 블록(REF)간의 매칭을 실시한다. 매칭은 상술한 바와 같이 MAE 또는 MSE에 의한 방법을 채용할 수 있다. 즉, 도 4의 탐색 영역(FD)내 픽셀 값(P29,P30,P35,P36)과 기준 블록(REF))의 픽섹값(R1, R2,R3,R4)간의 MAE는 다음 수식 1에 의하여 검출할 수 있다.
MAE=( eP29-R1 e+ eP30-R2 e+ eP35-R3 e+ eP36-R4 e)
이에 반하여 MSE는 식 2에 의하여 검출할 수 있다.
MSE=((P29-R1)2+(P30-R2)2+(P35-R3)2+(P36-R4)2))
따라서, 어레이 프로세서(PE55)는 탐색 영역(FD)의 픽셀값(P1,P2,P7,P8)과 기준 블록(REF))의 픽셀값(R1,P2,R3,R4)와의 MAE 또는 MSE를 상기 수식 1,2에 따라 산출하게 되며, 어레이 프로세서(PE55)외의 프로세서(PE11~PE54)역시 각각의 탐색 영역에 대한 MAE 또는 MSE를 구하게 된다. 이와 같이 각 어레이 프로세서(PE11~PE55)에서 검출된 MAE 또는 MSE중 가장 작은 MAE 또는 MSE를 갖는 어레이 프로세서(PE11~PE55들중 하나)의 프로세서의 위치가 움직임 벡터가 된다. 즉, 어레이 프로세서(PE11)가 가장 적은 MAE 또는 MSE를 구한 경우에 움직임 벡터는 (+2,+2)가 되어 지며, 어레이 프로세서(PE55)가 가장 작은 MAE 또는 MSE를 구한 경우에 움직임 벡터는 (-2,-2)가 되어 진다.
도 6에는 이러한 탐색 영역(FD)과 기준 영역(REF)간의 MAE 또는 MSE를 구하는 어레이 프로세서의 블록도가 도시되어 있다.
도시된 바와 같이 입력단(A)을 통하여는 탐색 영역의 픽셀 값들이 인가되어 탐색 메모리(101)에 저장된다. 이때, 탐색 메모리(101)에 저장되는 픽셀값은 다음과 같다. 즉, 어레이 프로세서(PE55,PE54,PE53,PE52,PE51)의 탐색 메모리(101) 각각에는 탐색 영역(FD)의 픽셀값들중 2개의 행의 픽셀값들이 입력된다. 즉, 어레이 프로세서(PE55)에는 픽셀값(P1,P2,P7,P8)이 어레이 프로세서(PE54)에는 픽셀값(P2,P3,P8,P9)이, 어레이 프로세서 (PE53)에는 픽셀값(P3,P4,P9,P10)이, 어레이 프로세서(PE52)에는 픽셀값 (P4,P5, P10,P11)이 그리고, 어레이 프로세서(PE51)에는 픽셀값(P5,P6,P11, P12)이 입력되어지는 것이다.
이러한 방식으로 어레이 프로세서(PE41-45)에는 2행 및 3 행에 해당하는 탐색 영역(FD)의 픽셀값들이 각각 인가되며, 어레이 프로세서(PE31-35)에는 3행 및 4 행에 해당하는, 어레이 프로세서(PE21-25)에는 4행 및 5 행에 해당하는, 그리고 어레이 프로세서(PE11-15)에는 5행 및 6 행에 해당하는 탐색 영역(FD)의 픽셀값들이 각각 저장되는 것이다.
이때, 기준 블럭(REF)영역의 픽셀값들은 탐색 영역(FD)의 제 5행 및 제 6 행의 픽셀값이 어레이 프로세서(PE11-PE15)에 입력되어질 때에 동시에 단자(B)를 통하여 입력되어지며, 탐색 영역(FD)의 픽셀값들에 대한 입력이 종료되면 연산기(102)는탐색 메모리(101)내의 픽셀값과 기준 블럭(REF)영역의 픽셀값들에 대한 MAE또는 MSE를 검출하여 출력하는 것이다.
이와 같이 각 어레이 프로세서(P11-P55)에서 검출된 MAE/MSE는 출력 콘트롤러(10)에 인가되며, 출력 콘트롤러(10)는 이 MAE/MSE들중 가장 작은 값을 출력한 어레이 프로세서(PE41-45들중 하나)에 할당된 움직임 벡터을 탐색 영역(FD)에 대한 기준 블록(REF)의 움직임 벡터로서 출력하는 것이다.
여기서, 이전 프레임 데이타의 탐색 영역(FD1,FD2,...)들은 기준 블록(REF1,REF2,...)과 매칭을 위하여 프로세서 어레이(PE11~PEuv)들로 순차적으로 입력되어진다. 탐택 영역(FD1,FD2,...)는 프로세서 어레이(PE11~PEuv)로 순차적으로 입력되어지나, 기준 블록(REF1,REF2,..)은 각 프로세서 어레이(PE11~PEuv)에 병렬로 동시에 입력되어 해당 벡터에 해당하는 영역에서 기준 블록(REF1,REF2,...)과 비교하여 MSE 또는 MAE를 계산해낸다.
즉, 도 7과 같이 프로세서 어레이(PE11~PEuv)로 이전 프레임 데이타의 탐색 영역(FD1)이 입력되어지면서 기준 블럭(REF1)이 입력되어 움직임을 예측하게 되며, 기준 블럭(REF1)가 입력되어지고 난 뒤, 소정 지연 시간(d)뒤에 해당 움직임 벡터(VEC1)와 MAE/MSE 1를 구할 수 있다.
계속해서 다른 영역에서 다른 두 번째 기준 블록(REF1)에 대한 움직임 예측을 위하여 탐색 영역(FD2)과 기준 블럭(REF2)를 입력시키고, 소정 시간(d) 경과 뒤 벡터(VEC 2)와 MAE/MSE 2를 구할 수 있다.
그러나, 이와 같은 방법으로 움직임 벡터를 검출하는 종래의 방법은 상술한 바와 같이 기준 블록들에 대응하여 이전 프레임 데이타의 탐색 영역들을 프로세서 어레이(PE11~PEuv)에 각각 입력하여야 하므로 움직임 벡터를 검출하는데 많은 시간이 소요된다는 문제가 있었다.
본 발명은 이러한 문제를 해결하기 위한 것으로서, 본 발명의 목적은 프로세서 어레이를 이용하여 움직임 벡터의 검출시 기준 블록에 중복되지 않는 이전 프레임 데이터들을 프로세서 어레이에 순차적으로 입력하므로써 짧은 시간에 움직임 벡터를 검출할 수 있게 한 디지탈 비데오 인코더 시스템에서 움직임 예측 방법을 제공하는데 있다.
본 발명에 따른 디지탈 비데오 인코더 시스템에서 움직임 예측 방법은, 어레이 프로세서를 이용하여 이전 프레임의 탐색 영역에 대한 기준 영역의 움직임 벡터를 검출한 방법으로서, 이전 프레임에 대한 소정 탐색 영역의 픽셀값을 상기 어레이 프로세서에 입력하는 제 1 단계와; 어레이 프로세서에 상기 기준 영역에 대한 픽셀값을 입력하는 제 2 단계와; 탐색 영역에 대한 상기 기준 영역의 움직임 벡터를 검출하는 제 3 단계와; 이전 프레임에 새로운 탐색 영역을 설정하고, 상기 어레이 프로세서에 저장된 탐색 영역과 중복되지 않은 픽셀값만을 새로운 상기 어레이 프로세서에 입력하고, 상기 제 3 단계로 궤환하는 제 4 단계를 구비한다.
도 1은 블록 정합 방식에 의한 운동 보상 방식을 도시한 도면
도 2는 움직임 벡터를 검출하기 위한 종래의 어레이 프로세서의 블록도
도 3은 탐색 영역과 기준 블록의 일예를 도시한 도면
도 4는 탐색 영역에 대한 기준 블록의 움직임 벡터를 구하는 상태를 도시한 도면
도 5는 종래 어레이 프로세서내에 탐색 영역 및 기준 블록의 데이터가 입력되는 상태를 도시한 블록도
도 6은 어레이 프로세서의 블록도
도 7은 종래 움직임 벡터를 검출하기 위한 어레이 프로세서의 입출력도
도 8은 본 발명에 따른 움직임 프로세서의 입출력도
도 9는 본 발명에 따른 어레이 프로세서내에 탐색 영역 및 기준 블록의 데이터가 입력되는 상태를 도시한 블록도
도 10은 본 발명에 따른 어레이 프로세서에 인가되는 탐색 영역을 도시한 도면
도 11은 본 발명에 따른 기준 블록과 탐색 영역과의 관계를 도시한 도면
도 12는 본 발명에 따라 탐색 영역의 데이터가 어레이 프로세서에 연속적으로 입력되는 상태를 도시한 도면
*도면의 주요부분에 대한 부호의 설명*
10 : 출력 콘트롤러101 : 탐색 메모리
102 : 연산기
이하, 본 발명의 일 실시예를 첨부된 도면을 따라 상세히 설명한다.
본발명자는 인접한 기준 블록인 경우 제 7 도와 같이 반복하지 않아도 움직임 벡터를 찾을 수 있는 효율적인 방법을 알아내었다. 즉, 탐색 영역이 서로 중복되어 있는 경우, 소정의 제 1 기준 블록에 대한 탐색 영역과 제 2 기준 블록에 대한 탐색 영역이 중복된 경우 중복되지 않은 영역의 데이터만을 입력시키고 제 2 기준 블록에 대한 움직임 벡터를 구할 수 있다. 이것을 제 8 도에 나타내었다.
도 8에서 프로세서 어레이(PE11~PEuv)들은 이전 프레임 데이타의 탐색 영역(FD1) 및 기준 블록(REF1)을 각각 입력하여 해당 벡터에 해당하는 영역에서 기준 블록(REF1)과 비교하여 MSE 또는 MAE를 계산해낸다.
그리고, 출력 콘트롤러(10)는 소정 시간(d)후에 각 프로세서 어레이(PE11~PEuv)로부터 검출된 MAE 또는 MSE중 가장 작은 값이 가장 작은 MAE/MSE1 해당 움직임 벡터(VEC1) 를 출력하게 된다.
여기서, 탐색 영역(FD1)과 다음 입력되는 탐색 영역(FD2)의 픽셀이 대부분 동일하고 일부분이 상이한 경우에, 상이한 픽셀만을 프로세서 어레이(PE11~PEuv)내에서 대치하면 프로세서 어레이(PE11~PEuv)는 프레임 데이터(FD2)를 입력한 것과 동일하게 된다. 따라서, 프로세서 어레이(PE11~PEuv)들은 탐색 영역(FD1)의 처리후에 새로운 탐색 영역(FD2)의 데이타(D2만을 입력하고, 탐색 영역에서 제외된 탐색 영역(FD1)의 데이타를 삭제하는 것이다.
마찬가지로 프로세서 어레이(PE11~PEuv)는 계속해서 기준 블록 3,4,5......에 대하여 반복할 수 있는데, 이것은 프로세서 어레이(PE11~PEuv)의 구조상 이전 프레임 데이터(FD2,FD3,...)로 입력된 데이터(D2,D3,...)가 새로운 프레임의 데이터가 입력되면서 이에 대응하는 데이터가 순차적으로 빠져 나가기 때문이다.
이를 구현하기 위하여 본원 발명자는 도 9에 도시된 바와 같이 어레이 프로세서의 1개행(PE01-PE05)을 더 구성하였다.
그리고, 이 어레이 프로세서(PE00-PE55)에 도 10의 탐색 영역(FD)의 픽셀값을 초기 입력할 때에는 도시된 바와 같이 탐색 영역(FD1)의 1,2,3,4,5,6행의 픽셀값을 입력하고(즉,1,2,3,4,5,6행의 픽셀들이 초기 탐색 영역을 형성하게 된다.), 이 탐색 영역(FD1)에 대한 기준 블럭(REF1)의 움직임 벡터를 검출하게 된다.
그리고, 초기 입력에 의한 1,2,3,4,5,6 행에 대한 기준 블럭(REF1)의움직임 벡터의 검출이 종료하면, 제 2 기준 블록(REF2)에 대한 새로운 제 2 탐색 영역(FD2)을 설정하여야 하며, 3,4,5,6,7,8행이 새로운 탐색 영역임(FD2)을 알 수 있다. 이때, 3,4,5행의 픽셀 데이터들은 초기 탐색 영역(FD1)과 중복되어지며, 따라서, 어레이 프로세서(PE31-PE35, PE21-PE25,PE11-PE15)내의 픽셀값은 변경이 필요하지 않음을 알 수 있다. 즉, 어레이 프로세서(PE01-PE05,PE51-PE55,PE41-PE55)에 제 2 탐색 영역(FD2)에 대한 픽셀값만을 새로이 입력하면 제 2 기준 블록(REF2)에 대한 2 탐색 영역(FD2)내의 움직임 벡터를 구할 수 있는 것이다. 이와 동일한 방법으로 제 3,4,.. 기준 블록(REF3,REF4,...)의 제 3,4,... 탐색 영역(FD3,FD4,...)에 대한 움직임 벡터를 구할수 있는 것이다. 도 9에는 탐색영역을 새로이 설정하여 움직임 벡터를 검출하기 위해 어레이 프로세서(PE01-PE55)에 인가되는 픽셀의 행들이 순차적으로 도시되어 있다.
도 11도에 탐색 영역과 기준 블록의 관계를 나타내었다.
도 11에서 (가)는 화면(P)내에서 도 5 (나)에 도시된 기준 블록(REF)중 하나에 대한 탐색 영역(S)을 표시한 것이다. 이 탐색 영역(S)은 세로 M Sm이고 가로 N Sn인 블록이다. 각 프로세서 어레이(PE11~PEuv)는 해당 벡터에 대한 탐색 영역(S)을 저장하고 있다가 기준 블록(REF)과 매칭하여 MAE/MSE를 구한다. 이때, 비교되는 영역은 도 11 (다)에서 빗금친 부분으로 나타낸 부분과 같다.
도 11 (라)는 탐색 영역(S)이 프로세서 어레이(PE11~PEuv)로 입력되어질 때 입력되어지는 데이터의 순서를 예로써 나타내었다.
프로세서 어레이(PE11~PEuv)가 모든 탐색 영역(S)의 데이터를 받아들여 한번에 MAE/MSE를 모든 벡터에 대하여 구할 수는 없다.
왜냐하면 탐색 영역(S)이 넓은 경우 프로세서 어레이(PE11~PEuv)가 움직임 벡터의 개수만큼 존재하여야 하므로 탐색 영역이 넓은 경우 불가능하게 된다. 그러므로 탐색은 여러번 나누어서 이루어져야 하는데 전체 영역을 │A로 나누어서 탐색하는 예를 나타내었다. 첫 번째(M Sm) S(N Sn/│A)에 대하여 매칭을 실시하고 두 번째 (M Sm) S(N Sn/│A)에 대하여 실시한다. 이렇게 비교하여 │A 개의 탐색 영역 부분에 대하여 수행한 뒤 가장 작은 MAE/MSE를 갖는 움직임 벡터를 구하게 된다.
그러나, 탐색 영역이 작아서 움직임 벡터의 개수가 작은 경우, 탐색 영역에 대하여 한 번에 움직임 벡터를 프로세서 어레이(PE11~PEuv)를 이용하여 구할 수 있다. 그리고, 인접한 기준 블록에 대하여 탐색을 계속해서 수행하는 경우 도 12와 같이 새로운 탐색 영역(M Sm) Sn만큼의 블록이 빠져나가고 빠져 나간 만큼에 (M Sm) Sn만큼의 새로운 블록(n1)이 프로세서 어레이(PE11~PEuv)에 입력되어지므로 계속해서 인접한 기준 블록에 대해서 탐색이 가능해진다.
즉, 본 발명에서는 상술하였듯이 프로세서 어레이(PE11~PEuv)가 탐색 영역 전체에 대하여 한 번에 MAE/MSE를 계산할 수 없는 경우, 프로세서 어레이(PE11~PEuv)가 계산할 수 있는 탐색 영역만큼을 나누어서 계산할 수 있다.
이렇게 한 슬라이스(slice)에 대하여 움직임 벡터을 예측한 경우 프로세서 어레이(PE11~PEuv)로 입력되어지는 탐색 영역의 데이터량은 다음과 같다.
1개의 기준 블록(REF)에 대하여 움직임 벡터를 추정하기 위한 탐색 영역 입력 데이터량= (M Sm) S(N Sn)
K개의 기준 블록(REF)에 대한 탐색 영역 입력 데이터량= K S(M Sm) S(N Sn)
프로세서 어레이(PE11~PEuv)의 제한에 의하여 탐색 영역(S) 전체에 대하여 한 번에 움직임 벡터를 찾지 못하고 일부 블록에 대해서만 움직임을 예측한 경우 제 11 도 (라)에서와 같이 인접 기준 블록에 대해서도 이전 탐색 영역에 인접한 (M Sm) Sn 블록을 계속해서 프로세서 어레이(PE11~PEuv)에 입력시키므로써 연속해서 인접한 일부 탐색 영역의 블록에 대해서만 연속적으로 움직임 벡터를 추정할 수 있다.
도 11 (라)의 1 번 블록으로부터 시작해서 인접 블록(M Sm) Sn블럭을 사용해서 연속적으로 인접한 기준 블록에 대하여 움직임을 추정한 경우 다시 2 번 블록으로 출발해서 인접한 기준 블록에 대하여 움직임 추정을 실시하고 │A번째 블록에 대해서까지 반복한다.
│A 번 반복하는 동안 해당 탐색 영역에 대하여 움직임 벡터와 MAE/MSE를 │A 개 구할 수 있다. │A개 구한 까닭은 탐색 영역을 │A등분 하였기 때문이다.
구해진 │A개의 MAE/MSE, 움직임 벡터에 대하여 가장 작은 MAE/MSE에 대한 움직임 벡터가 해당 기준 블록의 최종적인 움직임 벡터가 된다.
이때 소요된 계산량을 살펴보면 다음과 같다.
기준 블록(REF1)에 대하여 탐색 영역(FD1)을 프로세서 어레이에 입력시킨 데이터량=(M Sm) S(N Sn/│A)
이후의 순차적인 블록(REF2,…)를 위한 입력 데이터량=(M×m)×n
서브 블록 탐색을 위하여 한 슬라이스 내의 K개 기준 블록에 대하여 프로세서 어레이에 입력된데이타량=(M Sm) S((K-1) Sn×)
│A반복하여 최종 움직임 벡터를 구하기 위하여 프로세서 어레이에 입력된 데이터량=
2가지 움직임 벡터 방법에서는 나타난 입력 데이터량을 살펴보면. 전체 탐색 영역에 대하여 각 기준 블록에 대한 움직임을 찾은 뒤 K개의 기준 불럭에 대하여 계속해서 찾기 위하여 읽어들인 탐색 영역의 입력 데이터량=A
서브 탐색 영역 블록에 대하여만 먼저 움직임을 추정하고 (M Sm) Sn의 인접 영역의 블록을 계속해서 프로세서 어레이로 읽어들여서 K개의 인접 기준 블록에 대하여 움직임을 추정한 뒤, 나누어진 탐색 영역의 수만큼 차례로 반복하여 최종의 움직임 벡터를 추정하기 위하여 입력된 탐색 영역의 데이터=B라고 하면, A/B=이다.
K는 보통 N보다 10배이상 큰수이고,α는 1이상의 정수이므로 전체적으로 N/α만큼 빠르게 움직임을 예측할 수 있는 방법이 된다.
즉, 본 발명은 프로세서 어레이를 이용하여 움직임 벡터의 검출시 기준 블록에 중복되지 않는 이전 프레임 데이터들을 프로세서 어레이에 순차적으로 입력하므로써 짧은 시간에 움직임 벡터를 검출할 수 있다는 효과가 있으며, 하드웨어의 복잡성과 처리 속도 사이의 최적점을 찾을수 있다.
즉, 탐색영역의 크기가 프로세서 어레이(PE11∼PEuv)로 충분히 처리할수 있는 크기라면 α는 1이되고, 이때 속도의 이득은 N배가 되고, 탐색영역의 크기가 프로세서 어레이(PE11∼PEuv)로 처리할수 없을 경우, α배 만큼 하드웨어를 간단히 하며,만큼 처리 속도 이득을 얻는다.

Claims (1)

  1. 어레이 프로세서를 이용하여 이전 프레임의 탐색 영역에 대한 기준 영역의 움직임 벡터를 검출한 방법으로서,
    이전 프레임에 대한 소정 탐색 영역의 픽셀값을 상기 어레이 프로세서에 입력하는 제 1 단계와;
    상기 어레이 프로세서에 상기 기준 영역에 대한 픽셀값을 입력하는 제 2 단계와;
    상기 탐색 영역에 대한 상기 기준 영역의 움직임 벡터를 검출하는 제 3 단계와;
    상기 이전 프레임에 새로운 탐색 영역을 설정하고, 상기 어레이 프로세서에 저장된 탐색 영역과 중복되지 않은 픽셀값만을 새로운 상기 어레이 프로세서에 입력하고, 상기 제 3 단계로 궤환하는 제 4 단계를 구비하는 디지탈 비데오 인코더 시스템에서 움직임 예측 방법.
KR1019960039567A 1996-09-12 1996-09-12 디지탈 비데오 인코더 시스템에서 움직임 예측 방법 KR100205146B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960039567A KR100205146B1 (ko) 1996-09-12 1996-09-12 디지탈 비데오 인코더 시스템에서 움직임 예측 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960039567A KR100205146B1 (ko) 1996-09-12 1996-09-12 디지탈 비데오 인코더 시스템에서 움직임 예측 방법

Publications (2)

Publication Number Publication Date
KR19980020898A true KR19980020898A (ko) 1998-06-25
KR100205146B1 KR100205146B1 (ko) 1999-07-01

Family

ID=19473541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960039567A KR100205146B1 (ko) 1996-09-12 1996-09-12 디지탈 비데오 인코더 시스템에서 움직임 예측 방법

Country Status (1)

Country Link
KR (1) KR100205146B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100486249B1 (ko) * 2001-07-09 2005-05-03 삼성전자주식회사 움직임 추정 장치 및 탐색영역에서 레퍼런스매크로블록창의 스캐닝 방법
KR101374851B1 (ko) * 2006-01-10 2014-03-14 톰슨 라이센싱 4:4:4 코딩의 병렬 구현을 위한 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100486249B1 (ko) * 2001-07-09 2005-05-03 삼성전자주식회사 움직임 추정 장치 및 탐색영역에서 레퍼런스매크로블록창의 스캐닝 방법
KR101374851B1 (ko) * 2006-01-10 2014-03-14 톰슨 라이센싱 4:4:4 코딩의 병렬 구현을 위한 방법 및 장치
US9445113B2 (en) 2006-01-10 2016-09-13 Thomson Licensing Methods and apparatus for parallel implementations of 4:4:4 coding

Also Published As

Publication number Publication date
KR100205146B1 (ko) 1999-07-01

Similar Documents

Publication Publication Date Title
KR100534207B1 (ko) 비디오 부호화기의 움직임 추정기 및 그 방법
US5838828A (en) Method and apparatus for motion estimation in a video signal
US11539976B2 (en) Motion estimation using collocated blocks
US5206723A (en) Motion estimator
US8130835B2 (en) Method and apparatus for generating motion vector in hierarchical motion estimation
US5561475A (en) Variable block matching motion estimation apparatus
US6671319B1 (en) Methods and apparatus for motion estimation using neighboring macroblocks
US6483876B1 (en) Methods and apparatus for reduction of prediction modes in motion estimation
US20050238102A1 (en) Hierarchical motion estimation apparatus and method
JP3089165B2 (ja) 動きベクトル探索装置
JP3009674B2 (ja) 動き検出器
US6366317B1 (en) Motion estimation using intrapixel logic
US5754237A (en) Method for determining motion vectors using a hierarchical motion estimation
US8135224B2 (en) Generating image data
US6104439A (en) Method and apparatus for motion estimation
KR100984953B1 (ko) 데이터 검색 방법과 장치 및 이를 포함하는 비디오 재생장치
US5710603A (en) Method for detecting motion vectors
KR100205146B1 (ko) 디지탈 비데오 인코더 시스템에서 움직임 예측 방법
US6931066B2 (en) Motion vector selection based on a preferred point
US6968011B2 (en) Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
KR100208984B1 (ko) 물체의 윤곽선을 이용한 움직임 벡터 추정 장치
KR100926440B1 (ko) 영상부호화를 위한 블록 매칭 움직임 추정 장치
KR0180162B1 (ko) 움직임 벡터 처리 장치 및 그 방법
KR970003099B1 (ko) 커버/언커버된 영역을 고려한 이동벡터 추정장치
JP4274430B2 (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: 20060327

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee