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

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

Info

Publication number
KR100262962B1
KR100262962B1 KR1019970057611A KR19970057611A KR100262962B1 KR 100262962 B1 KR100262962 B1 KR 100262962B1 KR 1019970057611 A KR1019970057611 A KR 1019970057611A KR 19970057611 A KR19970057611 A KR 19970057611A KR 100262962 B1 KR100262962 B1 KR 100262962B1
Authority
KR
South Korea
Prior art keywords
image
hierarchical
motion
input
position information
Prior art date
Application number
KR1019970057611A
Other languages
English (en)
Other versions
KR19990038002A (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 KR1019970057611A priority Critical patent/KR100262962B1/ko
Priority to US09/182,203 priority patent/US6332002B1/en
Publication of KR19990038002A publication Critical patent/KR19990038002A/ko
Application granted granted Critical
Publication of KR100262962B1 publication Critical patent/KR100262962B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/182Methods 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 a pixel
    • 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

Abstract

본 발명은 계층적 알고리즘을 사용하는 단화소 추정과 반화소 추정시 입/출력 대역 폭을 줄일 수 있는 움직임 추정방법 및 장치에 관한 것이다.
본 발명에서는, 입력영상과 이전 영상 각각에 대하여 해상도에 따른 다수의 계층 영상들이 마련하고, 입력영상에 대한 다수의 계층 영상들과 이전 영상에 대한 다수의 계층 영상으로부터 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 단화소 단위의 제1 위치정보를 그 제1 위치정보가 변하지 않게 되는 계층까지 종속적으로 검출하여 그 검출된 제1 위치정보에 근거하여 단화소 단위의 움직임이 반복적으로 탐색되게 한다. 움직임 정보를 이용하여 입력영상이 부호화되고, 그 부호화된 영상이 다시 복호화되게 된다. 복호화된 영상에 대한 다수의 계층 영상이 마련하고, 제1 위치정보를 기준으로 하여 위치정보가 변하지 않게 된 계층 영상에 해당하는 계층 영상 이상의 입력 영상에 대한 계층 영상들과 복호된 영상에 대한 계층 영상들로부터 입력영상에 대한 계층영상과 유사한 영상이 위치하는 복호된 영상의 계층 영상 상의 위치에 관한 반화소 단위의 제2 위치정보가 종속적으로 검출되게 된다. 그 검출된 제2 위치정보에 근거하여 단화소 단위로 움직임을 추정되게 된다.

Description

움직임 추정방법 및 장치(Motion Prediction Method and Apparatus)
본 발명은 디지털 영상의 부호화에 관한 것으로, 특히 계층적 알고리즘을 사용하는 단화소 추정과 반화소 추정시 입/출력 대역 폭을 줄이는 움직임 추정방법 및 장치에 관한 것이다.
디지털 동영상 압축방법의 국제표준인 MPEG(Motion Picture Experts Group)-2 방식의 부호화기에서 신호 압축을 수행하는 기본단위는 매크로블록(Macroblock)이다. 하나의 매크로블록은 16×16 화소(Pixel)의 휘도신호(Y) 블록과 8×8 화소의 색차신호(Cr 및 Cb) 블록으로 구성된다.
영상 압축을 위한 첫 단계는 임의의 입력 영상으로부터 매크로블록을 추출하는 것이다. 이를 위하여, 색체계 변환, 색신호 성분 추림(Decimation), 그리고 블록 분할의 세 가지 과정이 필요하다. 여기서, 색체계 변환(Color Space Conversion)은 카메라로부터 입력되어 디지털 형태로 변환된 R, G, B 영상신호의 중복성을 줄이기 위하여 YCrCb 체계로 변환하는 것이다. 색신호 성분 추림(Chrominance Component Decimation)은 Y 신호가 영상의 명암을 나타내는 신호로서 주파수 대역도 넓고 시각적으로 인식이 잘 되는데 비하여, Cr 및 Cb 신호는 색상을 나타내는 신호로서 인식도가 Y 신호에 비하여 낮기 때문에 이를 수평, 수직 방향으로 추림하여 사용하는 것을 말한다. 예를 들면, 4:2:0 포맷(Format) 영상의 경우, 추림정도(Decimation Factor)는 수평, 수직으로 각각 2:1 이다. 블록 분할 (Block Partitioning)은 색체계 변환과 색신호 성분 추림을 통해 얻어진 YCrCb 영상을 부호화하기에 적합한 크기로 분할하는 것으로서, Y 신호의 경우 16×16 화소 단위로 분할하게 되며, Cr 및 Cb 신호는 8×8 단위로 분할하게 된다.
영상 압축을 위한 두 번째 단계는 전체 영상으로부터 규칙적으로 추출된 매크로 블록을 움직임 추정 및 보상하는 것이다. 이러한 움직임 추정 및 보상과정은 시간적으로 인접한 비디오 영상간의 중복성을 제거하기 위한 방법이다. 이를 MPEG-2 부호화기를 나타내는 제1도를 참조하여 설명하기로 한다.
제1도를 참조하면, 종래의 MPEG-2 부호화기는 입력라인(1)에 접속되어 움직임 추정 및 보상을 위한 연산 처리를 수행하는 움직임 예측부(20)와, 제1 노드(N1)를 경유하여 움직임 예측부(20)와 입력라인(1)과 공통 접속된 프레임 메모리(2)와, 프레임 메모리(2)와 움직임 예측부(20)의 출력 단에 공통 접속된 감산기(4)와, 감산기(4)의 출력 단에 접속된 부호화 처리부(34)를 구비한다.
움직임 예측부(20)는 입력라인(1)에 접속된 제1 움직임 추정기(22)와, 제2 노드(N2)를 경유하여 입력라인(1)과 제1 움직임 추정기(22)에 공통으로 접속된 제2 움직임 추정기(24)와, 제2 움직임 추정기(24)의 출력 단에 접속된 움직임 보상기(26)를 구비한다.
프레임 메모리(2)는 입력라인(1)으로부터 공급되는 입력영상신호로부터 시간적으로 인접되어 입력되는 이전 영상신호를 저장한다. 제1 움직임 추정기(22)는 매크로블록의 Y 신호 블록에 대하여 프레임메모리(2)에 저장된 이전 영상으로부터 가장 유사한 블록의 위치를 단화소 단위로 검출한다. 검출된 위치는 제2 움직임 추정기(24)를 위한 기준 위치정보로 사용된다. 제2 움직임 추정기(24)는 프레임 딜레이부(18)에 저장된 복원 영상에서 제1 움직임 추정기(22)로부터 공급받은 기준 위치정보에 따라 매크로블록의 Y신호와 가장 유사한 블록의 위치를 검출한다. 감산기(4)는 프레임 메모리(2)로부터의 영상신호와 제2 움직임 추정기(24)로부터의 예측신호의 차신호를 발생하여 이를 부호화 처리부(20)에 공급한다. 부호화 처리부(34)는 감산기(4)로부터 공급된 영상신호를 부호화하도록 연산 처리한다. 움직임 보상기(26)는 제2 움직임 추정기(24)로부터 발생된 최종 위치정보를 바탕으로, 프레임 딜레이부(18)의 복원영상으로부터의 매크로블록과 가장 유사한 블록을 추출한다.
그리고 종래의 MPEG-2 부호화기는 부호화 처리부(34)에 의해 부호화된 신호를 복호하는 복호화 처리부(36)와, 제3 노드(N3)를 경유하여 감산기(4) 및 움직임 예측부(20)에 공통으로 접속됨과 아울러 복호화 처리부(36)의 출력 단에 접속된 가산기(16)와, 가산기(16)의 출력 단에 직렬 접속된 프레임 딜레이부(18)와, 제4 노드(N4)를 경유하여 부호화 처리부(34) 및 복호화 처리부(36)에 공통으로 접속된 가변길이 부호화기(Variable Length Coder ; 이하 "VLC"라 함)(30)와, VLC(30)의 출력단에 직렬 접속된 선입선출 방식의 버퍼(이하 "FIFO 버퍼"라 함, 32)와, FIFO 버퍼(32)와 부호화 처리부(34) 및 프레임 메모리(2)에 공통으로 접속되어 FIFO버퍼(32)의 데어터 저장량이 특정 량을 유지하도록 양자화 스텝 사이즈(Qp)를 제어하는 레이트 제어부(10)를 구비한다.
종래의 MPEG-2 부호화기는 입력 영상의 매크로 블록과 움직임 보상기(26)에 의하여 추출된 복원 영상의 블록간의 창 영상(difference image)을 부호화함으로서 시간적으로 인접한 영상간의 중복성을 제거하게 된다. 따라서, 부호화 처리부(34)는 움직임 보상기(26)에서 움직임 보상 후 발생된 블록 차 영상을 8×8 화소 단위로 DCT 변환하여 부호화한다. 이 변환 부호화 방식은 차 영상에 존재하는 공간 영역 상관성을 제거하기 위하여 사용된다.
이를 위하여, 부호화 처리부(34)는 감산기(4)의 출력 단에 직렬 접속되어 감산기(4)로부터의 영상신호를 이산코사인변환(Discrete cosine transform)하는 이산코사인변환 처리부(이하 "DCT 처리부")(6)와, DCT 처리부(6)의 출력 단에 직렬 접속되어 레이트 제어부(10)로부터 공급되는 양자화 스텝 사이즈(Qp)에 따라 DCT 처리부(6)로부터의 신호를 양자화(Quantization)하여 예측에러 코드를 발생하는 양자화기(Quantizer, 8)를 구비한다.
복호화 처리부(36)는 양자화 스텝 사이즈(Qp)에 따라 예측에러 코드를 복호화하여 복호화기에서 수행되는 영상 복원과정과 동일한 연산을 통하여 복호화기와 동일한 차 영상 신호를 복원한다.
이를 위하여, 복호화 처리부(36)는 제4노드(N4)를 경유하여 부호화 처리부(34)에 접속됨과 아울러 레이트 제어부(10)에 접속된 역양자화기(12)와, 역양자화기(12)의 출력 단에 직렬 접속된 역이산코사인변환 처리부(이하 "IDCT 처리부"라함)(14)를 구비한다.
역양자화기(12)는 양자화 스텝 사이즈(Qp)에 따라 부호화 처리부(34)로부터의 예측에러 코드를 역양자화(Inverse Quantization)한다. IDCT 처리부(14)는 역양자화기(12)로부터의 신호를 역이산코사인 변환하여 재생에러신호를 가산기(16)에 공급한다. 그러면 가산기(16)는 재생에러신호와 움직임 예측부(20)로부터의 예측 신호를 가산하여 다음에 입력될 영상을 예측하기 위한 새로운 복원영상을 구성하여, 이를 프레임 딜레이부(18)에 공급한다. 따라서, 프레임 딜레이부(18)에 저장되는 영상은 복원영상으로서 복호화기에서 복원되는 영상과 정확히 일치한다.
제2도는 제1도의 제1 및 제2 움직임 추정기(22, 24)를 상세히 도시한 블록도로써, 제1 및 제2 움직임 추정기(22, 24) 각각은 5-경로(Path), 즉 프레임(Frame), 상위필드 대 상위필드(Top-to-top), 하위필드 대 상위필드(Bottom-to-top), 상위필드 대 하위필드(Top-to-bottom), 하위필드 대 하위필드(Bottom-to-bottom)에 대한 움직임 추정을 동시에 수행한다.
제2도에 있어서, 제1도와 단화소 단위의 움직임 추정을 나타내는 제3도 및 반화소 단위의 움직임 추정을 나타내는 제4도를 결부하여 설명하기로 한다.
제1 움직임 추정기(22)는 입력라인(1)으로부터 공급되는 입력영상에 대하여 5-경로에 대한 단화소 단위의 움직임 추정을 수행한다. 제1 움직임 추정기(22)에 의해 수행되는 탐색영역의 해당 영상은 부호화 순서에 따라 지연(delay)된 입력라인(1)을 경유한 입력영상이다. 제1 움직임 추정기(22)는 단화소 단위로 움직임 추정을 할 때, 5-경로 각각에 대하여 제3도에 도시된 전역 탐색 블록 정합 알고리즘(block matching algorithm)을 사용한다. 전역 탐색 블록 정합 알고리즘은 제3도에 도시된 바와 같이 현재 입력되는 영상을 It라하고 이전 입력영상을 It-1이라 할 때, It의 특정 블록 Bt에 대하여 가장 유사한 블록을 It-1로부터 검출하는 과정이다. 이때, 블록의 크기 NB는 MPEG-2의 경우 16으로 설정된다.
이를 상세히 하면, 우선 입력영상(It)에서 기준위치(x, y)의 특정블록 (Bt)에 대하여 유사한 블록을 찾기 위한 국부영역을 이전 입력영상 (It-1)에서 검출한다. 이때, 이전 입력영상(It-1)에서 국부영역의 크기는 기준위치(x, y)를 중심으로 하여 수평으로 x-S ∼ x+S+NB-2, 수직으로 y-S ∼ y+S+NB-2에 해당한다. 그 다음으로, 평군 절대 오차(Mean Absolute Difference; MAD)를 기준으로 하여 입력영상(It)의 특정블록(Bt)과 가장 유사한 블록을 찾는다. 평균 절대 오차는 수식 1로 표현된다.
[수식 1]
Figure kpo00001
수식1에 의해, 이전 입력영상(It-1)의 국부영역 내에서 임의의 위치(u, v)마다 NB×NB크기의 임의의 블록(Bt-1)과 특정블록(Bt) 간의 평균 절대 오차(MAD)를 계산한다. 이어서, 평균 절대 오차(MAD)가 가장 적은 블록(Bt-1)의 위치(u, v)*를 검출한다. 이때, 기준위치(x, y)로부터 검출된 위치(u,v)*까지의 변이를 단화소 단위의 움직임 벡터(Motion Vector)라고 한다 수식 1로부터 5-경로 각각에 대하여 단화소 단위의 움직임 벡터는 수식2로 계산되고, 단화소 단위의 움직임 벡터를 구하기 위한 초당 요구되는 계산량(OPFSBMA)은 화면의 크기를 W×H라 하고 프레임 레이트(Frame rate)를 30 (frame/sec)라 하면 수식 3과 같다.
[수식 2]
프레임(Frame) : NB×NB×2S×2S×M
상위필드 대 상위필드(Top-to-top), 하위필드대 상위필드(Bottom-to-top), 상위필드 대 하위필드(Top-to-bottom), 하위필드 대 하위필드(Bottom-to-bottom) :
Figure kpo00002
[수식 3]
Figure kpo00003
여기서, M은 단위 화소당 절대 오차를 계산하는데 요구되는 계산량이다.
제2 움직임 추정기(24)는 제1 움직임 추정기(22)의 단 화소 단위의 움직임 추정으로부터 발생된 5-경로의 움직임 벡터를 중심으로 부호화할 영상에 대한 반화소 단위의 움직임 추정을 한다. 이때, 사용되는 탐색영역은 프레임 딜레이부(18)에 저장된 복호화된 영상이다. 제2 움직임 추정기(24)는 반화소 단위의 움직임 추정을 수행할 때 프레임딜레이부(18)의 복호화된 영상을 사용함으로써, 부호화기 및 복호화기가 동일한 예측화상을 사용할 수 있게 된다.
이를 위하여, 제2 움직임 추정기(24)는 상위필드 즉, 상위필드 대 상위필드(Top-to-top), 하위필드 대 상위필드(Bottom-to-top)의 2 경로에 대한 움직임 벡터(MV)가 공급되는 제1 멀티플렉서(23)와, 하위필드 즉, 상위필드 대 하위필드(Top-to-bottom), 하위필드 대 하위필드(Bottom-to-bottom)의 2 개의 경로에 대한 움직임 벡터(MV)가 공급되는 제2 멀티플렉서(25)와, 제1 및 제2 멀티플렉서(23, 25) 의 출력 단에 공통으로 접속된 가산기(27)를 추가로 구비한다.
제1 멀티플레서(23)는 상위필드 대 상위필드, 하위필드 대 상위필드의 2 경로에서 산출된 반화소 움직임 벡터를 선택적으로 절환하여 가산기(27)에 공급한다. 제2 멀티플렉서(25)는 상위필드 대 하위필드, 하위필드 대 하위필드의 2개의 경로에서 산출된 반화소 움직임 벡터를 선택적으로 절환하여 가산기(27)에 공급한다. 그러면 가산기(27)는 제1 및 제2 멀티플렉서(23, 25)로부터 출력되는 필드의 반화소 움직임 벡터를 가산하여 필드/프레임 결정부(29)에 공급한다. 필드/프레임 결정부(29)는 프레임의 반화소 움직임 벡터와 가산기(27)로부터 출력되는 필드의 반화소 움직임 벡터를 비교하여 움직임 벡터 값이 적은 쪽을 선택하여 출력한다. 제2 움직임 추정기(24)는 제4도에 도시된 바와 같이 단화소 단위의 움직임 벡터를 중심으로 한 9개의 위치에서 가장 오차가 적은 블록의 위치를 검출하므로써, 반화소 단위의 움직임을 추정한다. 이때, 위치를 검출하는 방법으로는 제1 움직임 추정기(22)의 단화소 단위의 움직임 추정방법과 마찬가지로 블록 정합 알고리즘을 사용한다. 제4도에 도시된 9개의 탐색점 각 위치에 대응되는 블록은 단화소 단위의 움직임 벡터를 (u, v)라 할 때, 수식4로 계산된다.
[수식 4]
탐색위치 4, 5 : I(u±0.5, v)={I(u, v)+I(u±1, v)}/2
탐색위치 2, 7 : I(u, v±0.5)={I(u, v)+I(u, v±1)}/2
탐색위치 1, 3, 6, 8 : I(u±0.5, v±0.5)+{I(u, v)+I(u, v±1)+I(u±1, v)+I(u±1, v±1)}/4
수식4로부터 5-경로 각각에 대한 반화소 단위의 움직임은 수식5에 의해 계산 된다.
[수식 5]
프레임(Frame) : NB×NB×8×(M+L)
상위필드 대 상위필드, 하위필드 대 상위필드, 상위필드 대 하위필드, 하위필드 대 하위필드 :
Figure kpo00004
여기서, L은 반화소 위치의 한 화소를 만드는데 요구되는 계산이다. 수식 5로부터 반화소 단위의 움직임 추정을 위해서 요구되는 전체 계산량은 3×NB×NB×8×(M+L)이며, 초당 요구되는 계산량(OPHPSBMA)은 화면의 크기를 W×H라 하고 프레임 레이트(Frame rate)를 30 (frame/sec)라 하면 수식 6으로 계산된다.
[수식 6]
Figure kpo00005
초당 요구되는 단화소 단위의 움직임 벡터를 구하기 위한 계산량(OPFSBMA)과 초당 요구되는 반화소 단위의 움직임 벡터를 구하기 위한 계산량(OPHPSBMA)의 비는
Figure kpo00006
로서, 탐색영역이 증가할 수록(즉, S가 증가할수록) 단화소 단위의 탐색이 반화소 단위의 탐색보다 많은 계산량이 필요로 하며, 이러한 계산량의 차이는 지수적으로 증가한다.
결과적으로, 단화소 단위의 움직임 추정을 위하여 움직임 추정영역 내의 모든 위치를 탐색할 경우, 탐색영역의 크기가 증가함에 따라 지수적으로 증가하는 막대한 계산량으로 시스템의 처리속도를 늦추게 하고 하드웨어의 복잡성(Complexity)을 크게 하는 결과를 초래한다. 이러한 문제점으로 고속 탐색 알고리즘이 개발되고 있는데, 이 중 대표적인 예가 계층적 블록 정합 알고리즘이다. 이를 제5도를 참조하여 설명하기로 한다.
제5도는 종래의 계층적 블록 정합 알고리즘을 나타낸다.
제5도를 참조하면, 종래의 계층적 블록 정합 알고리즘은 단위영상을 제0 내지 제2 층(layer)의 계층적 구조의 영상으로 재구성한다.
제1+1 층의 영상은 제1 영상을 필터링(filtering)하고, 서브 샘플링(sub-sampling)하여 만든 영상으로서 제1 층의 영상에 비하여 수평, 수직 방향화소수가 1/2 만큼 줄어든 영상이다. 이러한 계층적 구조의 영상을 사용하여 단화소단위의 움직임 추정 과정을 상세히 설명하면, 제2 층(1=2)의 영상에서의 움직임 추정은 원 영상의 크기가 수평, 수직으로 1/4씩 줄어든 영상으로 움직임 추정을 한다. 움직임 추정 방법은 1/4로 줄어든 탐색영역 전체에 대하여 1/4로 줄어든 블록을 사용하여 블록정합 오차를 계산하고, 비교한다. 블록정합 방법에 요구되는 계산량이 단위 블록 크기의 제곱과 탐색영역 크기의 제곱에 비례하므로 제2 층에서의 움직임 추정에 요구되는 계산량은 (1/4)2×(1/4)2만큼 감소된다. 그 계산량은 수식7로 표현된다.
[수식 7]
Figure kpo00007
제2 층에서 구한 움직임벡터의 정확도를 향상시키기 위하여, 제2 층에서 구한 움직임 벡터를 중심으로 하는 국부 영역에 대하여 제1 층(1=1)에서 블록 정합 방법을 적용한다. 제1 층에서 국부영역의 크기는 ±2 정도로 전체 탐색 영역에 비하여 무시할 수 있을 만큼 적기 때문에 제1 층에서는 계산량의 큰 증가 없이 움직임 벡터의 정확도를 향상시킬 수 있다. 제1 층에서 움직임 벡터를 구하기 위한 수식은 수식8로 표현된다.
[수식 8]
Figure kpo00008
제1 층에서의 움직임 추정과 마찬가지로 제0 층에서의 움직임 추정은 제1 층에서 구한 움직임 벡터를 중심으로 하는 국부영역(±2)에 대하여 움직임 추정을 수행한다. 제0 층에서 요구되는 계산량은 아래의 수식9로 표현된다.
[수식 9]
Figure kpo00009
제6도은 계층적 블록 정합 알고리즘을 적용한 MPEG-2의 움직임 추정을 나타내는 도면으로써, 제1도의 움직임 예측부(20)에서 제1 및 제2 움직임 추정기(22, 24)에 의해 수행된다.
제7도는 종래의 계층적 탐색 방법에서 제0 층과 반화소 탐색을 위한 제1 및 제2 움직임 추정기(22, 24)의 상세 블록 도를 도시한다.
제6도 및 제7도를 참조하면, 제1 움직임 추정기(22)는 입력라인(1)으로부터 공급되는 입력영상에 대하여 5-경로의 필드/프레임으로 제0 내지 제2 층의 계층구조에 의해 단화소 단위의 움직임 추정을 수행하고, 제2 움직임 추정기(24)는 제1 움직임 추정기(22)로부터 공급되는 위치정보에 따라 복원영상에 대하여 반화소 단위의 탐색으로 움직임 추정을 수행한다. 제2 움직임 추정기(24)의 제1 및 제2 멀티플렉서(23, 25)는 상위필드 대 상위필드, 하위필드 대 상위필드, 상위필드 대 하위필드, 하위필드 대 하위필드의 4 경로에서 산출된 움직임 벡터를 선택적으로 절환하여 제2 가산기(27)에 공급한다. 필드/프레임 결정부(29)는 프레임 경로의 움직임 벡터와 가산기(27)로부터 출력되는 필드 경로의 움직임 벡터를 비교하여 움직임 벡터 값이 적은 쪽은 선택하여 출력한다.
5-경로의 필드/프레임 움직임 추정을 하는 경우의 계층적 탐색 방법이 요구하는 계산량은 아래의 수식10과 같다.
[수식 10]
Figure kpo00010
움직임 추정기(22, 24)는 데이터버스(54)를 경유하여 공통으로 접속된 제0층에서의 움직임 벡터 검출부(70)와, 반화소 단위의 움직임 벡터 검출부(80)를 구비한다.
제0 층에서의 움직임 벡터 검출부(70)는 제1 층에서 검출된 움직임 벡터(MV1)가 어드레스버스(52)에 접속된 제1 어드레스 발생기(44)에 공급되어 발생된 제0 층에서의 기준위치정보(A0)를 기초로 하여, 국부영역(±2)에 대한 탐색을 반복적으로 수행하여 제0 층에서의 움직임 벡터(MV0)를 생성한다.
이를 위하여, 제0 층에서의 움직임 벡터 검출부(70)는 데이터버스(54)에 접속되어 딜레이된 입력영상이 공급되는 제1 버퍼(46)와, 제1 버퍼(46) 및 제1 내부 메모리(42)에 공통으로 접속되는 제1 연산기(40)와, 제1 연산기(40)의 출력 단에 접속된 제1 비교기(48)와, 제1 비교기(48)와 어드레스버스(52)에 공통으로 접속된 제2 어드레스 발생기(50)를 구비한다.
제1 연산기(40)는 제1 버퍼(46)로부터 공급되는 딜레이된 입력영상에 대하여 평균 절대 오차(MAD)를 계산하여 그 결과 값을 제1 비교기(48)에 공급한다. 제1 비교기는 평균 절대 오차(MAD)가 가장 적은 위치를 검출하고 그 위치와 기준위치의 변이를 움직임 벡터(MV0)로서 생성한다. 제2 어드레스 발생기(50)는 제1 비교기(48)로부터 공급되는 움직임 벡터(MV0)의 값에 대응하는 위치정보(Ah)를 발생한다. 이 위치정보(Ah)는 반화소 단위의 탐색에서 기준위치 정보로 사용된다.
반화소 단위의 움직임 벡터 검출부(80)는 기준 위치정보(Ah)를 기초로 하여, 복원영상에 대한 반화소 단위의 국부영역 탐색을 반복적으로 수행하여 움직임 벡터(MVh)를 생성한다.
이를 위하여, 반화소 단위의 움직임 벡터 검출부(80)는 데이터버스(54)에 접속되어 복원영상이 공급되는 제2 버퍼(52)와, 제2 버퍼(52) 및 제2 내부 메모리(58)에 공통으로 접속되는 제2 연산기(56)와, 제2 연산기(56)의 출력 단에 접속된 제2 비교기(60)를 구비한다.
제2 연산기(56)는 제2 버퍼(50)로부터 공급되는 복원영상에 대하여 평균 절대 오차(MAD)를 계산하여 그 산출된 값을 제2 비교기(60)에 공급한다. 그러면 제2 비교기는 평균 절대 오차(MAD)가 가장 적은 위치를 검출하고 그 위치와 기준위치의 변이를 움직임 벡터(MVh)로서 생성한다.
반화소 단위의 탐색을 위한 계산량은 제2도에서의 설명 중 수식5와 같다. 수식10으로부터 전역 탐색 알고리즘을 계층적 블록 정합 알고리즘으로 대치할 때 얻을 수 있는 계산량의 감소효과는 수식11과 같다.
[수식 11]
Figure kpo00011
일반적으로, MPEG-2에서 대상으로 하고 있는 움직임 추정영역의 크기 S는 32이상이 된다. 따라서, 계층적 블록 정합 알고리즘을 적용함으로서 1/128로 계산량이 감소된다.
제8도는 제6도의 계층적 블록 정합 알고리즘을 적용한 가장 기본적인 형태로서, 움직임 추정의 각 단계에서 입/출력 대역폭(I/O bandwidth)을 설명하기 위한 도면이다.
제8도를 참조하면, 움직임 추정기(82)는 데이터 버스(92)를 경유하여 4 개의 메모리(84, 86, 88, 90)와 공통 접속된다. 3 개의 메모리 EM2, EM1, EM0(84, 86, 88)은 계층적 탐색을 위하여 각각 제2 층, 제1 층, 제0 층의 원 영상을 저장하고 있는 외부 메모리이다. 그리고 메모리 EMH(48)는 반화소 단위의 탐색을 위하여 복원 영상을 저장하고 있는 외부 메모리이다. 영상의 크기를 W×H라 하고, 프레임 레이트(frame rate)를 30 (frame/sec)라 할 때, 제5도 및 제6도를 참조하여 각 단계의 입/출력 대역폭을 계산하면 아래의 수식12와 같다.
[수식 12]
제2 층의 탐색영역 공급을 위한 입/출력 대역폭(IOlayer2) 요구량 :
Figure kpo00012
제1 층의 탐색영역 공급을 위한 입/출력 대역폭(IOlayer1) 요구량 :
Figure kpo00013
제0 층의 탐색영역 공급을 위한 입/출력 대역폭(IOlayer0) 요구량 :
Figure kpo00014
변화소 단위의 탐색영역 공급을 위한 입/출력 대력폭(IOhalf) 요구량 :
Figure kpo00015
계층적 블록 정합 알고리즘의 특성상 제2 층에서의 탐색영역들은 많은 부분이 중첩되므로 한 번 사용된 탐색영역 데이터를 여러 번 반복하여 사용함으로서 입/출력 대역폭 요구량을 크게 줄일 수 있지만, 나머지 층들의 탐색영역은 전혀 중첩이 되지 않으므로 입/출력 대역폭 요구량을 줄일 수 없다. MPEG-2에서 제공되는 메인 레벨에서의 메인 프로파일(MP@ML ; Main profile at Main level)에 해당하는 값들(NB=16, W=720, H=480)을 수식12에 대입·적용하여 제2 층을 제외한 나머지 층들에서의 입/출력 밴드 폭을 실제로 구해보면, 아래와 같이 제0 층과 반화소 단위의 탐색을 위한 입/출력 대역폭이 비교적 높음을 알 수 있다. 특히, 양방향 움직임 추정이 요구되는 B-화면(B-picture) 처리를 위해서는 아래의 입/출력 대역폭이 2배로 된다.
Figure kpo00016
따라서, 본 발명의 목적은 계층적 알고리즘을 사용하는 단화소 추정과 반화소 추정시 입/출력 대역폭을 줄일 수 있는 움직임 추정방법 및 장치를 제공하는 것이다.
제1도는 종래의 MPEG-2 부호화기의 블록도.
제2도는 제1도의 움직임 예측부에서 제1 및 제2 움직임 추정부의 상세 블록도.
제3도는 종래의 전역 탐색 블록 정합 알고리즘을 나타내는 도면.
제4도는 종래의 반화소 단위의 움직임 추정 방법을 나타내는 도면.
제5도는 종래의 계층적 블록 정합 알고리즘을 나타내는 도면.
제6도는 종래의 계층적 블록 정합 알고리즘을 적용한 움직임 추정부의 상세 블록도.
제7도는 종래의 계층적 블록 정합 알고리즘의 탐색에서 제0 층과 반화소 탐색을 수행하는 움직임 추정부의 상세 블록도.
제8도는 종래의 계층적 블록 정합 알고리즘의 탐색에서 탐색영역 데이터를 공급하기 위한 메모리 구성을 나타내는 움직임 추정부의 블록도.
제9도는 본 발명의 실시예에 따른 움직임 추정장치의 블록도.
제10도는 본 발명의 제1 실시예에 따른 움직임 추정방법 및 장치에서 제0 층과 반화소 단위의 탐색위치를 나타내는 도면.
제11도는 본 발명의 제1 실시예에 따른 움직임 추정장치에서 제0 층과 반화소 단위의 탐색을 수행하는 움직임 추정부의 상세 블록도.
제12도는 본 발명의 제2 실시예에 따른 움직임 추정방법 및 장치에서 제0 층과 반화소 단위의 탐색위치를 나타내는 도면.
제13도는 본 발명의 제2 실시예에 따른 움직임 추정장치에서 제0 층과 반화소 단위의 탐색을 수행하는 움직임 추정부의 상세 블록도.
* 도면의 주요부분에 대한 부호의 설명
2 : 프레임 메모리 4 : 감산기
6 : DCT 8 : 양자화기
10 : 레이트 제어부 12 : 역양자화기
14 : IDCT 처리부 16,27,98 : 가산기
18 : 프레임 딜레이부 20 : 움직임 예측부
22,24,82 : 움직임 추정기 23,25,94,96 : 멀티플렉서
26 : 움직임 보상기 29,100 : 필드/프레임 결정부
30 : VLC 32 : FIFO
34 : 부호화 처리부 36 : 복호화 처리부
40,56,106,126,138 : 연산기 42,58,102,104,136 : 내부메모리
44,50,109,110,139 : 어드레스 발생기 46,52,122,132 : 버퍼
48,60,108,128,140 : 비교기 52 : 어드레스버스
54 : 데이터버스 70,80 : 움직임 벡터 검출부
84,86,88,90 : 메모리 124,134 : 보간기
상기 목적을 달성하기 위하여, 본 발명의 실시 예에 따른 움직임 추정방법은 입력영상과 이전 영상 각각에 대하여 해상도에 따른 다수의 계층 영상들을 마련하고, 입력영상에 대한 다수의 계층 영상들과 이전 영상에 대한 다수의 계층 영상으로부터 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 제1 위치정보가 변하지 않게 되는 계층까지 종속적으로 검출하여 그 검출된 제1 위치정보에 근거하여 단화소 단위의 움직임을 반복적으로 탐색하는 단계; 탐색되어진 단화소 단위의 움직임 정보를 이용하여 입력영상을 부호화하고, 그 부호화된 영상을 다시 복호화하는 단계; 및 복호화된 영상에 대한 다수의 계층 영상을 마련하고, 제1 위치정보를 기준으로 하여 위치정보가 변하지 않게 된 계층 영상에 해당하는 계층 영상 이상의 입력영상에 대한 계층 영상들과 복호된 영상에 대한 계층 영상들로부터 입력영상에 대한 계층영상과 유사한 영상이 위치하는 복호된 영상의 계층 영상 상의 위치에 관한 제2 위치정보를 종속적으로 검출하고 그 검출된 제2 위치정보에 근거하여 단화소 단위로 움직임을 추정하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 실시 예에 따른 움직임 추정 방법은 입력영상과 이전 영상 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 입력영상에 대한 m개의 계층 영상들과 이전 영상에 대한 m개의 계층 영상들으로부터 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 위치정보를 종속적으로 검출하고, 그 검출된 위치정보에 근거하여 단화소 단위의 움직임을 반복 탐색하여 m-1 계층 영상에서의 위치정보를 발생하는 단계; 탐색되어진 단화소 단위의 움직임 정보에 근거하여 상기 입력영상을 부호화하고, 그 부호화된 영상을 다시 복호화하는 단계; 및 복호된 영상에 대한 m 계층 영상을 마련하고, m-1 계층의 위치정보를 기준으로 단화소 탐색범위 내에서 입력영상에 대한 m 계층 영상과 유사한 영상이 위치하는 복호된 영상에 대한 m 계층 영상 상의 위치에 관한 위치정보를 검출하여 그 검출된 위치정보를 기초로 단화소 단위의 움직임을 추정하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시 예에 따른 움직임 추정방법은 입력영상과 이전 영상 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 입력영상에 대한 m개의 계층 영상들과 이전 영상에 대한 m개의 계층 영상들으로부터 상기 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 제1 위치정보를 종속적으로 검출하고, 그 검출된 제1 위치정보에 근거하여 단화소 단위의 움직임을 반복 탐색하여 m-1 계층 영상에서의 제1 위치정보를 발생하는 단계; 탐색되어진 단화소 단위의 움직임 정보에 근거하여 입력영상을 부호화하고, 그 부호화된 영상을 다시 복호화하는 단계; 복호된 영상에 대한 m 계층 영상을 마련하고, m-1 계층의 위치정보를 기준으로 단화소 탐색범위와 반화소 탐색범위를 포함하는 탐색범위 내에서 상기 입력영상에 대한 m 계층 영상과 유사한 영상이 위치하는 복호된 영상에 대한 m 계층 영상 상의 위치에 관한 제2 위치정보를 검출하여 그 검출된 제2 위치정보를 기초로 단화소 단위의 움직임과 반화소 단위의 움직임을 추정하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 움직임 추정 장치는 입력라인에 접속되어 이전 영상을 저장하기 위한 메모리; 입력라인으로부터의 입력영상과 메모리로부터의 이전영상 각각에 대하여 해상도에 따른 다수의 계층 영상들을 마련하고, 입력영상에 대한 다수의 계층 영상들과 이전 영상에 대한 다수의 계층 영상으로부터 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 제1 위치정보가 변하지 않게 되는 계층까지 종속적으로 검출하여 그 검출된 제1 위치정보에 근거하여 단화소 단위의 움직임을 추정하는 제1 움직임 추정수단; 제1 움직임 추정수단으로부터의 움직임정보에 기초하여 입력라인으로부터의 입력영상을 부호화하는 부호화수단; 부호화수단으로부터의 부호화된 영상신호를 복호화하는 복호화수단; 입력라인으로부터의 입력영상과 복호화수단으로부터의 복호된 영상신호 각각에 대하여 해상도에 따른 다수의 계층 영상들을 마련하고, 위치정보가 변하지 않게 된 계층 영상에 해당하는 계층 영상 이상의 입력영상에 대한 계층 영상들과 상기 복호된 영상에 대한 계층 영상들로부터 입력 영상에 대한 계층영상과 유사한 영상이 위치하는 복호된 영상의 계층 영상 상의 위치에 관한 제2 위치정보를 종속적으로 검출하고 그 검출된 제2 위치정보에 근거하여 반화소 단위로 움직임을 추정하는 제2 움직임 추정수단을 구비한 것을 특징으로 한다.
본 발명에 다른 실시 예에 따른 움직임 추정 장치는 입력라인에 접속되어 이전 영상을 저장하기 위한 메모리; 입력라인으로부터의 입력영상과 메모리로부터의 이전 영상 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 입력영상에 대한 m-1개의 계층 영상들과 이전 영상에 대한 m-1개의 계층 영상들으로부터 상기 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 제1 위치정보를 종속적으로 검출하여 그 검출된 제1 위치정보에 근거하여 단화소 단위의 움직임을 추정하는 제1 움직임 추정수단; 입력라인으로부터의 입력영상과 메모리로부터의 이전 영상신호 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 제1 위치정보를 기준으로 하여 입력영상에 대한 m번째 계층 영상과 유사한 영상이 위치한 상기 복호된 영상에 대한 m번째 계층 영상 상의 위치에 관한 제2 위치정보를 검출하고 그 검출된 제2 위치정보에 근거하여 단화소 단위로 움직임을 추정하는 제2 움직임 추정수단; 제1 및 제2 움직임 추정수단으로부터의 움직임정보에 기초하여 입력라인으로부터의 입력영상을 부호화하는 부호화수단; 부호화수단으로부터의 부호화된 영상신호를 복호화하는 복호화수단; 입력라인으로부터의 입력영상과 복호화수단으로부터의 복호된 영상신호 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 제2 위치정보를 기준으로 하여 입력영상에 대한 m번째 계층 영상과 유사한 영상이 위치한 복호된 영상에 대한 m번째 계층 영상 상의 위치에 관한 제2 위치정보를 검출하고 그 검출된 제3 위치정보에 근거하여 반화소 단위로 움직임을 추정하는 제3 움직임 추정수단을 구비하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따른 움직임 추정 장치는 입력라인에 접속되어 이전 영상을 저장하기 위한 메모리; 입력라인으로부터의 입력영상과 메모리로부터의 이전 영상 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 상기 입력영상에 대한 m-1개의 계층 영상들과 이전 영상에 대한 m-1개의 계층 영상들으로부터 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 상기 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 제1 위치정보를 종속적으로 검출하여 그 검출된 제1 위치정보에 근거하여 단화소 단위의 움직임을 추정하는 제1 움직임 추정수단; 제1 움직임 추정수단으로부터의 움직임정보에 기초하여 입력라인으로부터의 입력영상을 부호화하는 부호화수단; 부호화수단으로부터의 부호화된 영상신호를 복호화하는 복호화수단; 입력라인으로부터의 입력영상과 복호화 수단에 의해 복호된 영상신호 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 제1 위치정보를 기준으로 하여 입력영상에 대한 m번째 계층 영상과 유사한 영상이 위치한 상기 복호된 영상에 대한 m번째 계층 영상 상의 위치에 관한 제2 위치정보를 검출하고 그 검출된 제2 위치정보에 근거하여 반화소 단위로 움직임을 추정하는 제2 움직임 추정수단을 구비하는 것을 특징으로 한다.
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부도면을 참조한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다. 이하, 제9도 내지 13도를 참조하여 본 발명의 바람직한 실시 예에 대하여 설명하기로 한다. 제9도는 본 발명의 실시 예에 따른 움직임 추정장치를 나타내는 블록도로써, 제1도의 움직임 예측부에 의해 수행된다.
제9도에 있어서, 본 발명의 제1 실시 예에 따른 움직임 추정에서 제0 층과 반화소 단위의 탐색위치를 나타내는 제10도를 결부하여 설명하기로 한다.
제9도를 참조하면, 본 발명의 실시 예에 따른 움직임 추정장치는 제0층의 탐색과 반화소 단위의 탐색을 병합(merge)하여 수행한다.
계층적 블록 정합 알고리즘을 적용한 단화소 단위의 탐색은 일정시간 지연된 입력영상이 공급되어 5-경로에 대하여 제2 층에서의 움직임 벡터(MV2)를 산출하고, 제2 층에서 산출된 움직임 벡터(MV2)에 따른 기준위치(u1, v1)에서 반복적으로 탐색을 수행하여 제1 층에서의 움직임 벡터(MV1)를 산출한다. 제0 층에서는 제1 및 제2 층으로부터 얻어진 기준위치(u0, v0)를 중심으로 수평, 수직 ±2 영역을 탐색하므로 탐색점의 수가 25개가 존재하고, 반화소 탐색에서는 제0 층으로부터 구해진 (uh, vh)을 중심으로 ±0.5 위치를 탐색하므로 탐색점의 수가 9 개 존재한다.
2 개의 경로 즉 상위필드 대 상위필드, 하위필드 대 상위필드에서 반화소 단위의 탐색으로부터 산출된 반화소 움직임 벡터와, 상위필드 대 하위필드, 하위필드 대 하위필드의 2개의 경로에서 산출된 반화소 움직임 벡터는 제1 및 제2 멀티플렉서(94, 96)에 의하여 선택적으로 절환되어 가산기(98)에 공급된다. 필드/프레임 결정부(100)는 프레임의 반화소 움직임 벡터와 가산기(98)로부터 출력되는 필드의 반화소 움직임 벡터를 비교하여 움직임 벡터 값이 적은 쪽을 선택하여 출력한다.
입/출력 대역폭을 줄이기 위한 제1 실시 예로 제10도과 같이 제0 층에서의 탐색과 반화소 단위의 탐색을 그대로 유지한 채, 각 탐색점에 대응되는 탐색영역 데이터로서 복원 영상만을 사용한다. 이 경우, 제0 층에서의 탐색영역 데이터의 저장을 위한 별도의 내부 메모리가 필요하게 된다.
제11도는 본 발명의 제1 실시 예에 따른 움직임 추정장치에서 제0 층과 반화소 단위의 탐색을 위한 움직임 추정기의 상세 블록도이다.
제11도를 참조하면, 본 발명의 제1 실시 예에 따른 움직임 추정장치는 제1 내부메모리(102)와 제2 내부 메모리(104)에 공통으로 접속된 제1 연산기(106)와, 제1 연산기(106)의 출력 단에 접속된 제1 비교기(108)와, 제1 내부메모리(102)의 출력단에 접속된 데이터버퍼(122)와, 데이터버퍼(122)의 출력 단에 접속된 보간기(124)와, 보간기(124)와 제3 내부메모리(120)에 공통으로 접속된 제2 연사기(126)와, 제2 연산기(126)의 출력 단에 접속된 제2 비교기(128)를 구비한다.
제0 층에서, 탐색영역의 기준위치는 제1 층에서 산출된 움직임 벡터(MV1)에 따라 제1 어드레스 발생기(109)에 의해 발생한 위치정보(A)에 의해 결정된다. 제1 내부메모리(102)에는 압축·복원된 영상이 공급되어 탐색영역에 대한 위치정보에 따라 그 해당영역의 영상을 제1 연산기(106)에 공급한다. 제2 내부메모리(104)에는 반화소 단위의 탐색 및 정수화소 단위의 탐색을 위한 데이터가 저장된다. 제1 연산기(106)는 제1 내부메모리(102)로부터 공급되는 압축·복원 영상과 제2 내부메모리(104)에 저장된 데이터를 이용하여 평균 절대 오차(MAD)를 계산하여 그 결과값을 제1 비교기(108)에 공급한다. 제1 비교기(108)는 평균 절대 오차(MAD)가 가장 적은 위치를 검출하고 그 위치와 기준위치의 변이를 움직임 벡터(MV0)로서 생성하여 제2 어드레스 발생기(110)에 공급한다. 제2 어드레스 발생기(110)는 제1 비교기(108)로부터 공급되는 움직임 벡터(MV0)의 값에 대응하는 위치정보(Ah)를 발생하고 이를 제1 내부메모리(102)에 피드백하여 공급한다. 제1 내부메모리(102)는 이 위치정보(Ah)에 따라 해당영역의 영상을 제1 연산기(106)에 공급한다. 데이터버퍼(122)는 제1 내부메모리(102)로부터 특정구간(Sh)의 영상을 공급받아 보간기(124)에 공급한다. 보간기(124)는 데이터버퍼(122)로부터의 특정구간의 신호를 보간(interpolation)하여 제2 연산기(126)에 공급한다. 제2 연산기(126)는 제3 내부메모리(120)에 저장된 기준위치를 중심으로 특정구간(Sh)에 대하여 평균 절대 오차(MAD)를 산출하여 제2 비교기(128)에 공급한다. 제2 비교기(128)는 평균 절대 오차(MAD)가 가장 적은 위치를 검출하고 그 위치와 기준위치의 변이를 움직임 벡터(MVh)로서 생성한다.
제12도는 본 발명의 제2 실시 예에 따른 움직임 추정방법 및 장치에서 제0 층과 반화소 단위의 탐색위치를 나타낸다.
제12도(a)를 참조하면, 본 발명의 제2 실시예에 따른 움직임 추정방법은 제0 층에서의 탐색 범위와 반화소 단위의 탐색범위를 포함하는 전 영역에 걸쳐 탐색을 한다. 이에 따라 별도의 내부 메모리가 필요하지 않게 되지만, 수직, 수평으로 ±2 영역에 걸쳐서 반화소 단위의 탐색을 해야 하기 때문에 총 18 개의 탐색점이 존재한다. 즉, 본 발명의 제1 실시 예에 비하여 계산량이 증가하는 결과를 초래하지만 성능과 계산량을 적절하게 선택하여 탐색점의 수를 줄일 수 있다. 제 12도의 (b), (c), (d)는 각각 탐색점의 수가 49개, 25개, 9개로 제한된 경우를 도시한다.
제13도는 본 발명의 제2 실시 예에 따른 움직임 추정장치에서 제 0층과 반화소 단위의 탐색을 위한 움직임 추정부의 상세 블록도이다.
제13도를 참조하면, 본 발명의 제2 실시 예에 따른 움직임 추정장치는 데이터버스에 접속된 데이터버퍼(132)와, 데이터버퍼(132)의 출력 단에 접속된 보간기(134)와, 보간기(134)와 내부메모리(136)에 공통으로 접속된 연산기(136)와, 연산기(136)의 출력 단에 접속된 비교기(140)를 구비한다.
제0 층에서의 탐색영역 기준위치는 제1 층에서 산출된 움직임 벡터(MV1)에 따라 어드레스 발생기(139)에 의해 발생한 위치정보(A)에 의해 결정된다. 데이더버퍼(132)에는 압축·복원된 영상이 데이터버스를 경유하여 공급되어 탐색영역에 대한 위치정보에 따라 그 해당영역의 영상을 보간기(134)에 공급한다. 보간기(134)는 데이터버퍼(132)로부터의 특정구간의 신호를 보간(interpolation)하여 연산기(138)에 공급한다. 연산기(138)는 내부메모리(136)에 저장된 기준위치를 중심으로 특정구간(Sh)에 대하여 평균 절대 오차(MAD)를 산출하여 비교기(140)에 공급한다. 그러면 비교기(140)는 평균 절대 오차(MAD)가 가장 적은 위치를 검출하고 그 위치와 기준위치의 변이를 움직임 벡터(MVh)로서 생성한다.
상술한 바와 같이, 본 발명의 움직임 추정방법 및 장치는 계층적 알고리즘을 사용하는 단화소 추정과 반화소 추정시 입/출력 대역폭을 줄일 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여 져야만 할 것이다.

Claims (11)

  1. 입력영상과 이전 영상 각각에 대하여 해상도에 따른 다수의 계층 영상들을 마련하고, 상기 입력영상에 대한 다수의 계층 영상들과 상기 이전 영상에 대한 다수의 계층 영상으로부터 상기 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 상기 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 제1 위치정보를 그 제1 위치정보가 변하지 않게 되는 계층까지 종속적으로 검출하여 그 검출된 제1 위치정보에 근거하여 단화소 단위의 움직임을 반복적으로 탐색하는 단계와;
    탐색되어진 움직임 정보를 이용하여 상기 입력영상을 부호화하고, 그 부호화된 영상을 다시 복호화하는 단계와;
    복호화된 영상에 대한 다수의 계층 영상을 마련하고, 상기 제1 위치정보를 기준으로 하여 상기 위치정보가 변하지 않게 된 계층 영상에 해당하는 계층 영상 이상의 상기 입력영상에 대한 계층 영상들과 상기 복호된 영상에 대한 계층 영상들로부터 상기 입력영상에 대한 계층영상과 유사한 영상이 위치하는 상기 복호된 영상의 계층 영상 상의 위치에 관한 제2 위치정보를 종속적으로 검출하고 그 검출된 제2 위치정보에 근거하여 단화소 단위로 움직임을 추정하는 단계를 포함하는 움직임 추정방법.
  2. 입력영상과 이전 영상 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 상기 입력영상에 대한 m개의 계층 영상들과 상기 이전 영상에 대한 m개의 계층 영상들으로부터 상기 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 상기 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 위치정보를 종속적으로 검출하고, 그 검출된 위치정보에 근거하여 단화소 단위의 움직임을 반복 탐색하여 m-1 계층 영상에서의 위치정보를 발생하는 단계와;
    탐색되어진 움직임 정보에 근거하여 상기 입력영상을 부호화하고, 그 부호화된 영상을 다시 복호화하는 단계와;
    복호된 영상에 대한 m 계층 영상을 마련하고, 상기 m-1 계층의 위치정보를 기준으로 반화소 탐색범위 내에서 상기 입력영상에 대한 m 계층 영상과 유사한 영상이 위치하는 상기 복호된 영상에 대한 m 계층 영상 상의 위치에 관한 위치정보를 검출하여 그 검출된 위치정보를 기초로 반화소 단위의 움직임을 추정하는 단계를 포함하는 움직임 추정방법.
  3. 입력영상과 이전 영상 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 상기 입력영상에 대한 m개의 계층 영상들과 상기 이전 영상에 대한 m개의 계층 영상들으로부터 상기 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 상기 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 제1 위치정보를 종속적으로 검출하고, 그 검출된 제1 위치정보에 근거하여 단화소 단위의 움직임을 반복 탐색하여 m-1 계층 영상에서의 제1 위치정보를 발생하는 단계와;
    상기 입력라인으로부터의 입력영상과 상기 이전 영상신호 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 상기 제1 위치정보를 기준으로 하여 상기 입력영상에 대한 m번째 계층 영상과 유사한 영상이 위치한 상기 복호된 영상에 대한 m번째 계층 영상 상의 위치에 관한 제2 위치정보를 검출하고 그 검출된 제2 위치정보에 근거하여 단화소 단위로 움직임을 추정하는 단계와;
    추정되어진 단화소 단위의 움직임 정보에 근거하여 상기 입력영상을 부호화하고, 그 부호화된 영상을 다시 복호화하는 단계와;
    복호된 영상에 대한 m 계층 영상을 마련하고, 상기 m-1 계층의 위치정보를 기준으로 단화소 탐색범위와 반화소 탐색범위를 포함하는 탐색범위 내에서 상기 입력영상에 대한 m계층 영상과 유사한 영상이 위치하는 상기 복호된 영상에 대한 m 계층 영상 상의 위치에 관한 제3 위치정보를 검출하여 그 검출된 제3 위치정보를 기초로 반화소 단위의 움직임을 추정하는 단계를 포함하는 것을 특징으로 하는 움직임 추정방법.
  4. 제 3 항에 있어서,
    상기 m 번째 계층 영상을 상기 반화소 탐색범위에서 탐색 시, 탐색점은 상기제1 위치정보에 따른 특정 위치를 중심으로 81 개가 존재하는 것을 특징으로 하는 움직임 추정방법.
  5. 제 4 항에 있어서,
    상기 탐색점의 개수는 선택적으로 가변될 수 있는 것을 특징으로 하는 움직임 추정방법.
  6. 입력라인에 접속되어 이전 영상을 저장하기 위한 메모리와;
    상기 입력라인으로부터의 입력영상과 상기 메모리로부터의 상기 이전 영상 각각에 대하여 해상도에 따른 다수의 계층 영상들을 마련하고, 상기 입력영상에 대한 다수의 계층 영상들과 상기 이전 영상에 대한 다수의 계층 영상으로부터 상기 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 상기 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 제1 위치정보를 그 제1 위치정보가 변하지 않게 되는 계층까지 종속적으로 검출하여 그 검출된 제1 위치정보에 근거하여 단화소 단위의 움직임을 추정하는 제1 움직임 추정수단과;
    상기 제1 움직임 추정수단으로부터의 움직임정보에 기초하여 상기 입력라인으로부터의 입력영상을 부호화하는 부호화수단과;
    상기 부호화수단으로부터의 부호화된 영상신호를 복호화하는 복호화수단과;
    상기 입력라인으로부터의 입력영상과 상기 복호화수단으로부터의 복호된 영상신호 각각에 대하여 해상도에 따른 다수의 계층 영상들을 마련하고, 상기 위치정보가 변하지 않게 된 계층 영상에 해당하는 계층 영상 이상의 상기 입력영상에 대한 계층 영상들과 상기 복호된 영상에 대한 계층 영상들로부터 상기 입력영상에 대한 계층영상과 유사한 영상이 위치하는 상기 복호된 영상의 계층 영상 상의 위치에 관한 제2 위치정보를 종속적으로 검출하고 그 검출된 제2 위치정보에 근거하여 반화소 단위로 움직임을 추정하는 제2 움직임 추정수단을 구비한 것을 특징으로 하는 움직임 추정장치.
  7. 입력라인에 접속되어 이전 영상을 저장하기 위한 메모리와;
    상기 입력라인으로부터의 입력영상과 상기 메모리로부터의 상기 이전 영상 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 상기 입력영상에 대한 m-1개의 계층 영상들과 상기 이전 영상에 대한 m-1개의 계층 영상들으로부터 상기 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 상기 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 제1 위치정보를 종속적으로 검출하여 그 검출된 제1 위치정보에 근거하여 단화소 단위의 움직임을 추정하는 제1 움직임 추정수단과;
    상기 입력라인으로부터의 입력영상과 상기 메모리로부터의 이전 영상신호 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 상기 제1 위치정보를 기준으로 하여 상기 입력영상에 대한 m번째 계층 영상과 유사한 영상이 위치한 상기 복호된 영상에 대한 m번째 계층 영상 상의 위치에 관한 제2 위치정보를 검출하고 그 검출된 제2 위치정보에 근거하여 단화소 단위로 움직임을 추정하는 제2 움직임 추정수단과;
    상기 제1 및 제2 움직임 추정수단으로부터의 움직임정보에 기초하여 상기 입력라인으로부터의 입력영상을 부호화하는 부호화수단과;
    상기 부호화수단으로부터의 부호화된 영상신호를 복호화하는 복호화수단과;
    상기 입력라인으로부터의 입력영상과 상기 복호화수단으로부터의 복호된 영상신호 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 상기 제2 위치정보를 기준으로 하여 상기 입력영상에 대한 m번째 계층 영상과 유사한 영상이 위치한 상기 복호된 영상에 대한 m번째 계층 영상 상의 위치에 관한 제2 위치정보를 검출하고 그 검출된 제3 위치정보에 근거하여 반화소 단위로 움직임을 추정하는 제3 움직임 추정수단을 구비하는 것을 특징으로 하는 움직임 추정장치.
  8. 제 7 항에 있어서,
    상기 제2 움직임 추정수단은,
    상기 복호화수단에 접속되어 상기 복원영상을 저장하는 제1 저장수단과;
    상기 반화소 단위의 탐색 및 단화소 단위의 탐색을 위한 탐색 데이터를 저장하는 제2 저장수단과;
    상기 제1 및 제2 저장수단에 공통으로 접속되어 특정 영역의 상기 복원영상에 대하여 평균값을 산출하는 연산수단과;
    상기 연산수단에 접속되어 가장 적은 상기 평균값을 위치정보로서 발생하는 비교수단과;
    상기 비교수단 및 상기 제1 저장수단에 공통으로 접속되어 상기 위치정보에 따른 어드레스 신호를 상기 제1 저장수단에 공급하는 어드레스 발생수단을 추가로 구비한 것을 특징으로 하는 움직임 추정장치.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 제3 움직임 추정수단은 상기 제1 저장수단에 접속되어 상기 복원영상을 공급받아 저장하는 저장수단과;
    제1 저장수단에 접속되어 상기 복원영상을 반화소 단위의 탐색영역에 대한 복원영상으로 신호보간하는 보간수단과;
    상기 저장수단 및 상기 보간수단에 공통으로 접속되어 상기 복원영상에 대하여 평균값을 산출하는 연산수단과;
    상기 연산수단에 접속되어 가장 적은 상기 평균값을 위치정보로서 발생하는 비교수단을 추가로 구비한 것을 특징으로 하는 움직임 추정장치.
  10. 입력라인에 접속되어 이전 영상을 저장하기 위한 메모리와;
    상기 입력라인으로부터의 입력영상과 상기 메모리로부터의 상기 이전 영상 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 상기 입력영상에 대한 m-1개의 계층 영상들과 상기 이전 영상에 대한 m-1개의 계층 영상들으로부터 상기 입력영상에 대한 계층 영상과 유사한 영상이 위치하는 상기 이전 영상에 대한 해당 계층 영상 상의 위치에 관한 제1 위치정보를 종속적으로 검출하여 그 검출된 제1 위치정보에 근거하여 단화소 단위의 움직임을 추정하는 제1 움직임 추정수단과;
    상기 제1 움직임 추정수단으로부터의 움직임정보에 기초하여 상기 입력라인으로부터의 입력영상을 부호화하는 부호화수단과;
    상기 부호화수단으로부터의 부호화된 영상신호를 복호화하는 복호화수단과;
    상기 입력라인으로부터의 입력영상과 상기 복호화수단으로부터의 복호된 영상신호 각각에 대하여 해상도에 따른 m개의 계층 영상들을 마련하고, 상기 제1 위치정보를 기준으로 하여 상기 입력영상에 대한 m번째 계층 영상과 유사한 영상이 위치한 상기 복호된 영상에 대한 m번째 계층 영상 상의 위치에 관한 제2 위치정보를 검출하고 그 검출된 제2 위치정보에 근거하여 반화소 단위로 움직임을 추정하는 제2 움직임 추정수단을 구비하는 것을 특징으로 하는 움직임 추정장치.
  11. 제 10 항에 있어서,
    상기 제2 움직임 추정수단은 상기 복호화수단에 접속되어 상기 복원영상이 저장되는 저장수단과;
    상기 저장수단에 접속되어 상기 단화소 단위의 탐색범위와 반화소 단위의 탐색범위를 포함하는 탐색영역에 대한 복원영상으로 신호보간하는 보간수단과;
    상기 저장수단 및 상기 보간수단에 공통으로 접속되어 상기 복원영상에 대하여 평균값을 산출하는 연산수단과;
    상기 연산수단에 접속되어 가장 적은 상기 평균값을 위치정보로서 발생하는 비교수단을 추가로 구비한 것을 특징으로 하는 움직임 추정장치.
KR1019970057611A 1997-11-01 1997-11-01 움직임 추정방법 및 장치 KR100262962B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019970057611A KR100262962B1 (ko) 1997-11-01 1997-11-01 움직임 추정방법 및 장치
US09/182,203 US6332002B1 (en) 1997-11-01 1998-10-30 Motion prediction apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970057611A KR100262962B1 (ko) 1997-11-01 1997-11-01 움직임 추정방법 및 장치

Publications (2)

Publication Number Publication Date
KR19990038002A KR19990038002A (ko) 1999-06-05
KR100262962B1 true KR100262962B1 (ko) 2000-08-01

Family

ID=19523996

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970057611A KR100262962B1 (ko) 1997-11-01 1997-11-01 움직임 추정방법 및 장치

Country Status (1)

Country Link
KR (1) KR100262962B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926440B1 (ko) * 2002-06-26 2009-11-13 이문기 영상부호화를 위한 블록 매칭 움직임 추정 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960016537A (ko) * 1994-10-13 1996-05-22 조백제 2차원 영상의 웨이브렛(wavelet) 변환 영역에서 가변 블럭 크기를 갖는 움직임 추정 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960016537A (ko) * 1994-10-13 1996-05-22 조백제 2차원 영상의 웨이브렛(wavelet) 변환 영역에서 가변 블럭 크기를 갖는 움직임 추정 장치

Also Published As

Publication number Publication date
KR19990038002A (ko) 1999-06-05

Similar Documents

Publication Publication Date Title
KR100739281B1 (ko) 움직임 추정 방법 및 장치
JP2897763B2 (ja) 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
US7408988B2 (en) Motion estimation engine with parallel interpolation and search hardware
US4727422A (en) Method and apparatus for efficiently communicating image sequence having improved motion compensation
KR100251548B1 (ko) 디지털영상을위한움직임추정장치및방법
EP2805499B1 (en) Video decoder, video encoder, video decoding method, and video encoding method
KR960010198B1 (ko) 동영상 부호화기의 움직임 추정방법 및 장치
KR20000076522A (ko) 직교 변환 영역의 블록 매칭을 사용한 모션 추정
EP0894403A1 (en) Video encoder and decoder using motion-based segmentation and merging
KR20010006292A (ko) 비디오 화상 코딩 장치 및 방법
CN111201792B (zh) 指向分数像素点位置的运动矢量的修正运动矢量
CN111567047B (zh) 进行子预测块运动矢量推导的存储器访问窗口
JPH09233477A (ja) 動きベクトル生成方法
JP2005503695A (ja) ビデオトランスコード方法及び装置
KR20230122686A (ko) 디코더 측 모션 벡터 정제를 위한 에러 표면 기반 서브픽셀 정밀 정제 방법
JPH10322705A (ja) 動き検出及び動き補償予測回路
JP2004529569A (ja) 埋め込みリサイジング機能を有するmpeg復号化のためのインターレース移動領域の検出及び適正な補間
KR20050084396A (ko) 공간 스케일 능력를 갖는 디지털 필터
EP2953363B1 (en) Moving image coding device and method
KR100926752B1 (ko) 동영상 부호화를 위한 미세 움직임 추정 방법 및 장치
US5907360A (en) Coder/decoder for television image sub-band compatible coding, and its application to hierarchical motion coding by tree structures
KR100262962B1 (ko) 움직임 추정방법 및 장치
KR100266161B1 (ko) 디지털 영상을 위한 움직임 추정방법(Method of Predicting Motion for Digital Image)
KR970010096B1 (ko) 영상 데이타의 압축 부호화를 위한 두계층 움직임 추정장치 및 그 방법
KR100296097B1 (ko) 제어 그리드 보간방식에 따른 영상부호화에서 제어점의 움직임벡터를 구하는 방법 및 그 장치

Legal Events

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

Payment date: 20050331

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee