KR19990038001A - 디지털 영상을 위한 움직임 추정장치 및 방법 - Google Patents
디지털 영상을 위한 움직임 추정장치 및 방법 Download PDFInfo
- Publication number
- KR19990038001A KR19990038001A KR1019970057610A KR19970057610A KR19990038001A KR 19990038001 A KR19990038001 A KR 19990038001A KR 1019970057610 A KR1019970057610 A KR 1019970057610A KR 19970057610 A KR19970057610 A KR 19970057610A KR 19990038001 A KR19990038001 A KR 19990038001A
- Authority
- KR
- South Korea
- Prior art keywords
- motion
- field
- motion vector
- estimating
- frame
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/112—Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 디지탈 영상을 부호화할 때 단화소 단위의 움직임 추정의 계산량을 줄여 움직임 추정에서 나타나는 계산의 중복성을 제지할 수 있는 디지탈 영상을 위한 움직임 추정 장치 및 방법에 관한 것이다.
본 발명의 움직임 추정 장치는 이전영상을 탐색하여 입력영상에 대한 상위필드 대 상위필드 경로와 하위필드 대 하위필드의 경로의 단화소 움직임을 추정하는 제 1움직임 추정수단과; 제 1움직임 추정수단에서 출력되는 움직임 벡터를 기초하여 프레임 움직임 벡터를 결정하는 프레임 벡터 결정수단과; 제 1움직임 추정수단에서 출력되는 움직임 벡터 각각을 스케일링하여 다른 경로의 필드 움직임 벡터를 결정하는 스케일링 수단과; 제 1움직임 추정수단 및 프레임 벡터 결정수단과 스케일링 수단에서 각각 출력되는 단화소 움직임 벡터를 기준으로 복호화된 영상을 탐색하여 반화소 단위의 움직임을 추정하는 제 2움직임 추정수단을 구비한다.
본 발명에 의하면, 움직임 추정에 있어서 단화소 단위의 움직임 추정을 위한 복잡도를 종래에 비하여 1/4로 줄일 수 있다.
Description
본 발명은 디지털 영상의 부호화에 관한 것으로, 특히 부호화기에 이용되는 디지털 영상을 위한 움직임 추정장치 및 방법에 관한 것이다.
통상, 동영상 압축 표준인 MPEG(Motion Picture Experts Group)-2방식의 부호화기는 매크로블럭(Macroblock)을 기본 단위로 신호 압축을 수행한다. 하나의 매크로 블럭은 16×16화소(Pixel)의 휘도신호(Y) 블록과 8×8화소의 색차신호(Cr 및 Cb) 블럭으로 구성되게 된다.
영상압축을 위한 첫 단계는 임의의 입력 영상으로부터 매크로블록을 추출하는 것이다. 이를 위하여, 색체계 변환, 색신호 성분 추림(Decimation), 그리고 블록 분할의 세가지 동작이 필요하다. 여기서, 색체계 변환(Color Space Conversion)은 카메라로부터 입력되어 디지털 형태로 변환된 RGB 영상의 중복성을 줄이기 위하여 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 단위로 분할하게 된다.
그 다음 단계는 전체 영상으로부터 규칙적으로 추출된 매크로블록을 움직임 추정 및 보상하는 것이다. 이는 시간적으로 인접한 비디오 영상에 대하여 중복되는 부호화 과정을 제거하기 위한 것이다. 이하, 도 1에 도시된 MPEG-2 부호화기를 참조하여 움직임 추정 장치 및 방법을 상세히 살펴보기로 한다.
도 1은 일반적인 MPEG-2 부호화기를 도시한 블록도로써, 통상 MPEG-2 부호화기는 입력라인(1)에 접속된 프레임 메모리(Frame Memory, 2)와, 입력라인(1) 및 프레임 메모리(2)와 프레임 딜레이(18)에 접속되어 입력영상의 움직임을 추정 및 보상하는 움직임 예측부(20)를 구비한다.
프레임메모리(2)는 입력라인(1)을 통하여 입력되는 시간적으로 인접한 이전영상을 저장하는 기능을 갖는다. 움직임 예측부(20)는 입력라인(1)과 프레임메모리(2)에 접속된 제 1움직임 추정부(Motion Estimator 1; 22)와, 입력라인(1) 및 제 1움직임 추정부(22)와 프레임 딜레이(18)에 접속된 제 2움직임 추정부(Motion Estimator 2; 24)와, 제 2움직임 추정부(24)와 프레임 딜레이(18)에 접속된 움직임 보상부(Motion Compensator; 26)로 구성된다. 움직임 예측부(20)에서 제 1움직임 추정부(22)는 입력라인(1)을 통한 입력영상에서 매크로블록의 Y신호 블록에 대하여 프레임 메모리(2)에 저장된 이전영상으로부터 가장 유사한 블록의 위치를 검출한다.
이때, 검출된 위치는 제 2움직임 추정부(24)를 위한 기준위치로 사용되게 된다. 제 2움직임 추정부(24)는 입력라인(1)을 통한 입력영상과 프레임 딜레이(18)의 복원영상을 입력받아 복원영상에서 제 1움직임 추정부(22)로부터 입력된 기준위치를 중심으로 매크로블럭의 Y신호와 가장 유사한 블록의 위치를 검출한다.
MPEG-2 부호화기는 여기서 검출된 위치를 복호화기 쪽으로 전송하므로써, 복호화기는 수신된 위치정보를 바탕으로 부호화기에서 참조하였던 복원영상과 정확히 일치하는 영상을 얻을 수 있게 된다. 움직임 보상부(26)는 제 2움직임 추정부(24)로부터 발생된 최종 위치정보를 바탕으로 프레임 딜레이(18)의 복원 영상으로부터 매크로블럭과 가장 유사한 블록을 추출한다.
그리고, 도 1의 MPEG-2 부호화기는 프레임 메모리(2)의 입력 영상과 움직임 보상기(Motion Compensator, 26)의 복원영상 간의 차신호를 출력하는 감산기(4)와, 감산기(4)의 차신호를 부호화하는 이산코사인변환(Discrete cosine tansform; 이하, DCT 라함)부(6), 양자화기(Quantization, 8) 가변길이 부호화기(Variable Length Coder; 이하, VLC라 함, 30)와, VLC(30)로부터 입력되는 비트 스트림을 선입선출(First In First Out) 방식으로 출력하는 버퍼(32)와, 프레임메모리(2)와 버퍼(32)로부터의 데이터 양을 참조하여 양자화기(8)와 역양자화기(12)의 양자화수의 크기를 조절하므로써 비트 발생율을 제어하는 비트율 제어부(10)를 구비한다.
또한, 도 1의 MPEG-2 부호화기는 상기 양자화기(8)에서 양자화된 데이터를 복호화는 역양자화기(Inverse Quantization, 12) 및 이산코사인변환부(Inverse DCT; 이하, IDCT라 함, 14)와, IDCT(14)와 움직임 보상부(26)의 출력영상의 합신호를 출력하는 가산기(16)와, 가산기(16)의 합신호를 저장하는 프레임 딜레이(18)를 더 구비한다.
도 1의 구성에서 감산기(4)는 입력라인(1)을 통해 프레임 메모리(2)에 저장된 영상의 메크로블록과 움직임 보상기(26)에서 추출된 복원 영상의 블록간의 차영상(Difference Image)을 DCT부(6)로 출력한다. DCT부(6)는 감산기(4)로부터의 차 영상을 8×8 화소 단위로 DCT변환 하고 양자화기(6)에서 양자화하므로써, 시간적으로 인접한 영상간의 중복성을 제거하게 된다.
즉, 차 영상에 존재하는 공간영역의 상관성을 제거하게 된다. 이때, 양자화기(6)는 비트율 제어부(10)에서 조절된 양자화수의 크기(Qp)에 따라 양자화를 수행한다. 역양자화기(12) 및 IDCT부(14)는 양자화기(8)에서 부호화된 차 영상에 대하여 복호화기에서 수행되는 영상 복원과정과 동일한 연산을 수행하므로써, 복호화기와 동일한 차 영상 신호를 복원한다. 가산기(16)는 IDCT부(14)로부터 복원된 차 영상과 움직임 보상기(26)의 예측 영상을 합하여 프레임딜레이(18)에 저장한다. 프레임딜레이(18)에 저장되는 영상은 다음에 입력될 영상을 예측하기 위한 새로운 복원영상으로 이용된다.
그런데, 상기 움직임 예측부(20)에서 움직임 추정부(22, 24)는 중복되는 움직임 추정을 수행하므로써, 부호화기의 복잡성을 증가시키는 단점이 있다. 이하, 도 2 내지 도 5를 참조하여 상기 문제점을 살펴보기로 한다.
통상, 비월주사방식의 영상은 도 2에 도시된 바와 같이 1/60초 마다 번갈아서 발생되는 두 필드, 즉 상위 필드(Top Field)와 하위 필드(Bottom Field)를 조합한 형태로 구성된다.
이때, 한 화면을 구성하는 두 필드 사이에는 1/60초 만큼의 발생 시간차가 존재하게 된다.
이에 따라, 영상압축을 위한 모든 동작을 프레임 단위로만 수행하는 것보다 각각의 필드로 나누어서 수행하는 것이 효과적일 수 있다.
이는 1/60초 동안에 필드와 필드 사이에 있을 수 있는 물체의 이동을 고려하기 때문이다. 따라서, MPEG-2 동영상 압축 표준은 비월주사 방식의 영상에 대해서 효과적으로 적용될 수 있도록 필드 뿐만 아니라 프레임 영상에 대해서도 움직임을 추정한다.
도 3은 도 1의 움직임 예측부(20)에서 제 1 및 제 2움직임 추정부(22, 24)를 상세히 도시한 블록도이다.
제 1 및 제 1움직임 추정부(22, 24) 각각은 5가지 경로(Path), 즉 프레임(Frame), 상위필드 대 상위필드(Top-to-top), 하위필드 대 상위필드(Bottom-to-top), 상위필드 대 하위필드(Top-to-bottom), 하위필드 대 하위필드(Bottom-to-bottom)의 경로에 대한 움직임 추정동작을 동시에 수행한다.
우선, 도 3의 제 1움직임 추정부(22)는 입력되는 영상과 이전 입력영상으로부터 상기 5가지 경로에 대한 단화소 단위의 움직임 추정을 수행한다.
이때, 탐색영역에 해당하는 영상은 MPEG-2 부호화기의 부호화 순서에 따라 프레임 메모리(2)에서 지연된 이전 영상이다. 제 1움직임 추정부(22)는 단화소 단위로 움직임 추정을 할 때 5-경로 각각에 대하여 도 4에 도시된 블록 정합 알고리즘(Block Matching Algorithm)을 사용한다.
도 4에서 (a)는 현재 입력되는 영상(It)을 나타내고, (b)는 이전 입력영상(It-1)을 나타낸다. 블록 정합 알고리즘이란 현재 입력되는 영상(It)의 특정 블록(Bt)에 대하여 가장 유사한 블록을 이전 입력영상(It-1)으로부터 찾아내는 과정을 말한다. 도 4의 입력영상에서 블록의 크기(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에 해당한다. 그 다음, 입력영상(It)의 특정 블럭(Bt)과 가장 유사한 블록을 찾기 위한 기준으로 평균 절대 오차(Mean Absolute Difference; MAD)를 사용한다.
이를 수식으로 표현하면 다음과 같다.
[수식 1]
이와 같이, 이전 입력영상(It-1)의 국부영역 내에서 임의의 위치(u, v)마다 NB×NB크기의 임의의 블록(BT-1)과 특정블록(Bt) 간의 평균 절대 오차(MAD)를 계산한다. 이어서, 평균 절대 오차(MAD)가 가장 적은 블록(Bt-1)의 위치(u, v)*)를 검출한다.
이때, 입력영상의 기준위치(x, y)로부터 이전 입력영상의 검출 위치(u, v)*)까지의 변위를 단화소 단위의 움직임 벡터(Motion Vector; 이하, MV라 함)라고 한다.
그리고, 상기 평균 절대 오차(MAD)를 계산하는 수식으로부터 단화소 단위의 벡터(MV)를 구하기 위해서는 5-경로 각각에 대하여 다음 수식과 같이 지수적으로 증가하는 계산이 요구됨을 알 수 있다.
[수식 2]
프레임 : NB×NB×2S×2S×M
상위필드 대 상위필드, 하위필드 대 상위필드, 상위필드 대 하위필드, 하위필드 대 하위필드 :
여기서, M은 단위 화소당 평균 절대 오차를 계산하는데 요구되는 계산량이다. 따라서, 단화소 단위의 움직임 벡터(MV)를 구하기 위해서는 전체적으로 2×NB×NB×2S×2S×M의 계산이 요구되기 때문에 S가 큰 경우 단 화소 단위의 움직임 추정이 용이하지 않음을 알 수 있다.
제 2움직임 추정부(24)는 반화소 움직임 벡터 검출부(21)와, 제 1 및 제 2멀티플렉서(Multiplexer ; 23, 25)와, 제 2가산기(27)와, 필드/프레임 결정부(29)로 구성된다. 제 2움직임 추정부(24)에서 반화소 움직임 벡터 검출부(21)는 상기 제 1움직임 추정부(22)로부터 출력되는 5-경로의 단화소 움직임 벡터 각각을 기준으로 하여 5-경로에 대한 반화소 단위의 움직임 벡터를 검출한다. 이때, 사용되는 탐색 영역은 도 1의 프레임 딜레이(18)에 저장된 이미 복호화된 영상이다. 다시 말하여, 도 1의 제 2움직임 추정부(24)는 반화소 단위의 움직임 추정을 수행할 때 프레임딜레이(18)의 복호화된 영상을 사용함으로써, 부호화기 및 복호화기가 동일한 예측화상을 사용할 수 있게 된다. 제 1멀티플렉서(23)는 반화소 움직임 벡터 검출부(21)로부터 출력되는 상위필드 대 상위필드 움직임 벡터와 하위필드 대 상위필드 움직임 벡터를 선택적으로 절환하여 가산기(27)로 출력한다. 제 2멀티플렉서(25)는 반화소 움직임 벡터 검출부(21)로부터 출력되는 상위필드 대 하위필드 움직임 벡터와 하위필드 대 하위필드 경로의 움직임 벡터를 선택적으로 절환하여 가산기(27)로 출력한다. 가산기(27)는 제 1 및 제 2멀티플렉서(23, 25)로부터 출력되는 필드의 반화소 움직임 벡터를 합하여 필드/프레임 결정부(29)로 출력한다. 필드/프레임 결정부(29)는 반화소 움직임 벡터 검출부(21)로부터 출력되는 프레임의 반화소 움직임 벡터 값과 가산기(27)로부터 출력되는 필드의 반화소 움직임 벡터 값을 비교하여 움직임 벡터 값이 적은 쪽을 선택하여 움직임 보상기(26)로 출력한다.
다시 말하여, 제 2움직임 추정부(24)는 프레임 단위의 움직임 추정을 했을 때 발생하는 움직임 보상오차와 필드 단위의 움직임 추정을 했을 때 발생하는 움직임 보상 오차를 비교하여 오차가 적은 쪽을 선택한다.
예를 들어, 필드 단위의 움직임 보상오차가 적은 경우는 스포츠(Sports) 영상과 같이 프레임을 구성하는 두 필드 사이에 화면의 내용이 급격히 변할 때이다.
도 5를 참조하면, 제 2움직임 추정부(24)는 단화소 단위의 움직임 벡터를 중심으로 ±0.5점에 위치하는 9개의 반화소에 대해 가장 오차가 적은 블록의 위치를 검출하므로써, 반화소 단위의 움직임을 추정한다.
이때, 위치를 검출하는 방법으로는 상기 제 1움직임 추정부(22)의 단화소 단위의 움직임 추정방법과 마찬가지로 블록 정합 알고리즘을 사용한다. 여기서, 도 5에 도시된 9개의 각 위치에 대응되는 블록을 계산하는데 사용되는 수식은 다음과 같다.
[수식 3]
탐색위치 4, 5 : I(u±0.5, v)={I(u, v)+I(u±1, v)}/2
탐색위치 2, 7 : I(u±0.5, v)={I(u, v)+I(u±1, v)}/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
상기 수식으로부터 5-경로 각각에 대한 반화소 단위의 움직임을 추정할 때 쓰이는 계산량은 다음과 같다.
[수식 4]
프레임(Frmae) : NB×NB×8×(M+L)
상위필드 대 상위필드, 하위필드 대 상위필드, 상위필드 대 하위필드, 하위필드 대 하위필드 :
여기서, L은 반화소 위치의 한 화소를 만드는데 요구되는 계산량이다. 상기 수식으로부터 반화소 단위의 움직임 추정을 위해서 요구되는 전체 계산량은 3×NB×NB×8×(M+L)이므로 단화소 단위의 움직임 추정에 비하여 무시할 수 있는 정도이다.
이상 설명한 바와 같이, 종래의 MPEG-2 부호화기에서 제 1 및 제 2움직임 추정부(22, 24)는 5개의 경로(프레임, 상위필드 대 상위필드, 하위필드 대 상위필드, 상위필드 대 하위필드, 하위필드 대 하위필드)에 대하여 중복되는 움직임 추정을 수행하고 있다.
이는 보다 유사한 블록을 복원영상으로부터 에측하는 것을 가능하게 하기 위한 것이다.
그러나, 계산이 중복되므로 부호화기의 복잡성을 증가시키고, VLSI(Very Large Scale Integration)로 구현할 때 보다 많은 하드웨어를 요구하는 단점을 갖는다.
특히, 단화소 단위의 움직임을 추정하는 블록은 단일경로(Single Path)의 계산에도 상당히 많은 계산량과 복잡한 하드웨어가 요구되는데, 중복되는 움직임 추정으로 인하여 그 복잡성이 증가하게 된다. 이에 따라, 단화소 단위의 움직임을 추정하는 블록의 계산량을 줄이는 방안이 요구되고 있다.
따라서, 본 발명의 목적은 디지탈 영상을 부호화할 때 단화소 단위의 움직임 추정의 계산량을 줄이므로써, 움직임 추정에서 나타나는 계산의 중복성을 제거할 수 있는 디지탈 영상을 위한 움직임 추정 장치 및 방법을 제공하는 것이다.
본 발명의 다른 목적은 디지탈 영상을 부호화할 때 움직임 추정에서 중복되는 계산으로 인한 움직임 추정 성능의 저하를 방지할 수 있는 디지탈 영상을 위한 움직임 추정 장치 및 방법을 제공하는 것이다.
도 1은 종래의 MPEG-2 부호화기를 도시한 블록도.
도 2는 통상의 비월 주사 방식으로 입력되는 영상의 구성을 도시한 도면.
도 3은 도 1의 구성에서 움직임 추정부를 상세히 도시한 블록도.
도 4는 통상의 단화소 단위의 움직임 추정 방법을 나타내는 도면.
도 5는 통상의 반화소 단위의 움직임 추정 방법을 나타내는 도면.
도 6은 본 발명의 디지탈 영상을 위한 움직임 추정부를 도시한 블록도.
도 7은 본 발명의 디지탈 영상을 위한 움직임 추정 방법을 나타내는 도면.
도 8은 통상의 화면 유형과 움직임 추정 방향을 나타내는 도면.
도 9는 상위필드 대 상위필드 경로의 움직임 벡터를 스케일링하는 방법을 나타내는 도면.
도 10은 하위필드 대 하위필드 경로의 움직임 벡터를 스케일링하는 방법을 나타내는 도면.
도 11은 계층적 블록 정합 알고리즘을 이용한 단화소 움직임 추정 방법을 나타내는 도면.
도 12는 계층적 블록 정합 알고리즘을 이용한 본 발명의 움직임 추정 장치를 실시예 별로 도시한 도면.
<도면의 주요부분에 대한 부호의 설명>
2 : 프레임 메모리 4 : 감산기
6 : 이산코사인변환부(DCT) 8 : 양자화기(Q)
10 : 비트율 제어부 12 : 역양자화기(IQ)
14 : 역 이산코사인변환부(IDCT)
16, 27, 68 : 가산기 18 : 프레임 딜레이
20 : 움직임 예측부
21, 62 : 반화소 움직임 벡터 검출부
22, 50 : 제 1움직임 추정부 23, 25, 64, 66 : 멀티플렉서
24, 60 : 제 2움직임 추정부 26 : 움직임 보상기
29, 70 : 필드/프레임 결정부 30 : 가변길이 부호화기(VLC)
32 : 버퍼(FIFO) 52 : 단화소 움직임 벡터 검출부
54 : 프레임 벡터 결정부 56, 58 : 제 1, 제 2스케일러
상기 목적을 달성하기 위하여, 본 발명에 따른 디지탈 영상을 위한 움직임 추정 장치는 이전영상을 탐색하여 입력영상에 대한 상위필드 대 상위필드 경로와 하위필드 대 하위필드의 경로의 단화소 움직임을 추정하는 제 1움직임 추정수단과; 제 1움직임 추정수단에서 출력되는 움직임 벡터를 기초하여 프레임 움직임 벡터를 결정하는 프레임 벡터 결정수단과; 제 1움직임 추정수단에서 출력되는 움직임 벡터 각각을 스케일링하여 다른 경로의 필드 움직임 벡터를 결정하는 스케일링 수단과; 제 1움직임 추정수단 및 프레임 벡터 결정수단과 스케일링 수단에서 각각 출력되는 단화소 움직임 벡터를 기준으로 복호화된 영상을 탐색하여 반화소 단위의 움직음을 추정하는 제 2움직임 추정수단을 구비하는 것을 특징으로 한다.
그리고, 본 발명에 따른 디지탈 영상을 위한 움직임 추정 방법은 이전영상을 탐색하여 입력영상에 대한 상위필드 대 상위필드 경로와 하위필드 대 하위드의 경로의 단화소 단위의 움직임을 추정하여 움직임을 추정하여 움직임 벡터를 검출하는 제 1단계와; 필드 움직임 벡터를 기초하여 프레임 움직임 벡터를 결정하고 필드 움직임 벡터를 각각 스케일링하여 다른 두 경로에 대한 필드 움직임 벡터를 결정하는 제 2단계와; 제 1 및 제 2단계에서의 움직임 벡터를 기준으로 복호화된 영상을 탐색하여 반화소 단위의 움직임 벡터를 검출하는 제 3단계를 포함한다.
본 발명의 다른 특징에 따른 디지탈 영상을 위한 움직임 추정 방법은 서로 다른 탐색영역의 크기를 갖는 n(n≥2)개의 계층으로 구성된 입력영상과 이전영상의 상위필드 대 상위필드 경로와 하위필드 대 하위필드의 경로에 대하여 계층적으로 단화소 단위의 움직임을 반복 추정하여 임의의 계층에서 단화소 움직임 벡터를 검출하는 제 1단계와; 필드 음직임 벡터를 기초하여 프레임 움직임 벡터를 결정하고 필드 움직임 벡터들을 각각 스케일링하여 다른 두 경로에 대한 필드 움직임 벡터를 결정하는 제 2단계와; 1 및 2단계에서의 움직임 벡터들을 기준을 상기 임의의 계층 다음의 m(1≤m<n)개의 계층에서 계층적으로 단화소 단위의 움직임을 반복 추정하여 최하위층에서 최종의 단화소 움직임 벡터를 검출하는 제 3단계와; 3단계에서 검출되는 단화소 움직임 벡터를 기준으로 복호화된 영상을 탐색하여 반화소 단위의 움직임을 추정하는 제 4단계를 포함한다.
본 발명의 또 다른 특징에 따른 디지탈 영상을 위한 움직임 추정 방법은 서로 다른 탐색영역의 크기를 갖는 n(n≥2)개의 계층으로 구성된 입력영상과 이전영상의 상위필드 대 상위필드 경로와 하위필드 대 하위필드의 경로에 대하여 계층적으로 단화소 단위의 움직임을 반복 추정하여 최하위층에서 단화소 움직임 벡터를 검출하는 제 1단계와; 필드 움직임 벡터를 기초하여 프레임 움직임 벡터를 결정하고 필드 움직임 벡터들을 각각 스케일링하여 다른 두 경로에 대한 필드 움직임 벡터를 검출하는 제 2단계와; 1 및 2단계에서의 단화소 움직임 벡터들을 기준으로 상기 복호화된 영상을 탐색하여 반화소 단위의 움직임을 추정하는 제 3단계를 포함한다.
상기 목적외에 본 발명의 다른 목적 및 특징들은 첨부도면을 참조한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다.
본 발명의 디지탈 영상의 움직임 추정 방법을 간단히 설명하면, 단화소 단위의 움직임을 추정을 상위필드 대 상위필드, 하위필드 대 하위필드의 경로에 대해서만 수행하여 단화소 단위의 움직임 추정을 위한 복잡도를 종래에 비하여 1/4로 줄일 수 있도록 한다.
이하, 도 6 내지 도 12을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명하기로 한다.
도 6은 본 발명에 따른 디지탈 영상의 움직임 추정 장치를 나타내는 블록도로써, 도 6의 움직임 추정 장치는 입력영상으로부터 단화소 단위의 움직임 추정을 수행하는 제 1움직임 추정부(50)와, 제 1움직임 추정부(50)의 단화소 단위의 움직임 벡터를 기준으로 반화소 단위의 움직임 추정을 수행하는 제 2움직임 추정부(60)를 구비한다.
도 6에서 제 1움직임 추정부(60)는 단화소 움직임 벡터 검출부(52), 프레임 벡터 결정부(FVD, 54), 제 1 및 제 2스케일러(Scaler; 56, 58)를 구비한다. 단화소 움직임 벡터 검출부(52)는 입력영상(t)과 이전영상(t-1)의 상위필드와 하위필드로부터 상위필드 대 상위필드, 하위필드 대 하위필드의 경로에 대해서만 단화소 움직임 벡터를 검출한다. 프레임 벡터 결정부(54)는 단화소 움직임 벡터 검출부(52)에서 검출된 상위필드 대 상위필드, 하위필드 대 하위필드 경로의 단화소 움직임 벡터들의 평균벡터를 구하므로써, 프레임의 단화소 움직임 벡터를 검출한다. 다른 방법으로 프레임 벡터 결정부(54)는 프레임 움직임 벡터를 상기 움직임 벡터들 중 어느 하나를 임의로 택일하여 구할 수도 있다.
또한, 프레임 벡터 결정부(54)는 적응적인 방법으로 상기 각 필드의 움직임 정보에 따라 가중치를 두어 최종적인 프레임 움직임 벡터를 구할 수도 있다.
제 1스케일러(56)는 단화소 움직임 벡터 검출부(52)의 상위필드 대 상위필드 단화소 움직임 벡터를 상위필드와 하위필드 사이의 시간차를 고려하여 스케일링하므로써, 도 7의 (b)에 도시된 바와 같이 하위필드 대 상위필드 경로의 단화소 움직임 벡터를 검출한다.
제 2스케일러(58)는 단화소 움직임 벡터 검출부(52)의 하위필드 대 하위필드 단화소 움직임 벡터를 상위필드와 하위필드 사이의 시간차를 고려하여 스케일링하므로써, 도 7의 (c)에 도시된 바와 같이 상위필드 대 하위필드 경로의 단화소 움직임 벡터를 검출한다.
이는 제 1 및 제 2스케일러(Scaler; 56, 58)가 단화소 단위의 움직임 벡터를 스케일링 할 때 도 7의 (a)와 같이 연속되는 필드 사이의 물체의 움직임을 등속운동으로 가정하고, 화면유형(Picture Type) 및 움직임 추정방향(순방향(Forward), 역방향(Backward))과 그에 따른 필드 간의 거리에 의존하여 스케일링 정도를 다르게 하므로써 가능하다.
이를 상세히 하기 위하여, 도 8 내지 도 10을 참조하면 다음과 같다.
일반적으로, MPEG-2 방식의 디지탈 영상에는 움직임 보상 방법에 따라 도 8의 (a)에 도시된 바와 같은 3종류(I, P, B)의 화면이 있다. 여기서, I-화면(Intra-Picture; 프레임 내의 부호화 영상)은 화면 내의 각 매크로블록을 처리할 때 움직임 추정 및 보상을 하지 않는다. P-화면(Predictive-Picture; 프레임 간의 순방향 예측 부호화 영상)은 각 매크로블록을 처리할 때 도 8의 (b)에 도시된 바와 같이 순방향의 움직임 추정 및 보상을 통하여 시간적 중복성을 제거한다. 움직임 추정 및 보상을 위한 탐색 영역으로는 이전 영상의 I-화면과 P-화면이 사용된다.
이때, I-화면과 P-화면, 또는 P-화면과 P-화면 사이의 프레임 간격은 M으로 정의되며, 이 값은 비디오 영상의 특성에 따라 가변된다. 도 8의 (a)에서 M은 3이다.
B-화면(Bidirectionally predictive-Picture; 쌍방향 예측 부호화 영상)은 화면 내의 각 매크로블록에 대하여 시간적 중복성을 제거할 때, 이전의 I, P-화면과 다음의 I, P-화면이 탐색 영역으로 사용된다. B-화면의 움직임 추정은 도 8의 (C)에 도시된 바와 같이 순방향과 역방향으로 이루어진다.
움직임 보상을 위해서는 순방향 움직임 벡터를 사용하여 예측된 영상과, 역방향 움직임 벡터를 사용하여 예측된 영상, 그리고 두 예측 영상을 보간(Interpolation)한 영상 중에서 최적의 것이 선택된다. 도 8의 (a)에서 PB는 이전의 I, P-화면과 B-화면 사이의 프레임 간격을 의미한다. (a)에서 첫 번째 B-화면에 대한 PB의 값은 1이고, 두 번째 B화면에 대한 PB의 값은 2이다.
제 1움직임 추정부(50)의 제 1스케일러(56)는 상위필드 대 상위필드 경로의 단화소 움직임 벡터를 제 2움직임 추정부(60)의 하위필드 대 상위필드 경로의 반화소 움직임 추정에 적용하기 위한 움직임 벡터 스케일링을 수행한다. 도 9는 P-화면과 B-화면에서 상위필드 대 상위필드 경로의 움직임 벡터를 스케일링하는 예를 나타낸 것이다.
도 9의 (a)는 제 1스케일러(56)에서 수행되는 P-화면의 순방향 움직임 추정을 위한 스케일링 방법을 나타낸다. 여기서, P-화면과 이전 I, P-화면의 프레임 간격이 M이기 때문에 상위 필드(t-3)와 상위 필드(t) 간의 간격은 도 9의 (a)와 같이 2×M이 되고, 하위 필드(t-3)와 상위 필드(t)의 간격은 2×M-1이 된다.
따라서, 하위필드 대 상위필드 경로의 단화소 움직임 벡터를 구하기 위해 상위필드 대 상위필드 경로의 움직임 벡터에 적용하는 스케일링 계수(Scaling Factor)는 다음식과 같이 정의된다.
[수식 5]
도 9의 (b)는 제 1스케일러(56)에서 수행되는 B-화면의 순방향 움직임 추정을 위한 스케일링 방법을 도시한 것으로써, PB-1인 경우에 대하여 상위필드 대 상위필드 경로의 움직임 벡터를 스케일링한 예이다. 여기서, 상위 필드(t-3)와 상위 필드(t-2)의 간격은 2×PB가 되고, 하위 필드(t-3)와 상위 필드(t-2)의 간격은 2×PB=1이 된다. 따라서, 이에 대한 스케일링 계수는 다음 식과 같이 정의된다.
[수식 6]
도 9의 (c)는 제 1스케일러(56)에서 수행되는 B-화면의 역방향 움직임 추정을 위한 스케일링 방법을 도시한 것으로써, 역방향 움직임 추정의 경우 프레임 간격은 M-PB로 표현할 수 있다.
이에 따라, 역방향 움직임 추정과 관련되는 상위 필드(t)와 상위 필드(t-2)의 간격은 2×(M-PB)가 되고, 하위 필드(t)과 상위 필드(t-2)의 간격은 2×(M-PB)+1이 된다.
따라서, 하위필드 대 상위필드 경로의 움직임 벡터를 구하기 위해 상위필드 대 상위필드 경로의 움직임 벡터에 적용하는 스케일링 계수는 다음 식과 같이 정의 된다.
[수식 7]
제 1스케일러(56)는 상기와 같은 스케일링 계수들(FS1)을 사용하여 다음 식과 같이 하위필드 대 상위필드 경로의 움직임 벡터를 계산한다.
[수식 8]
또한, 도 6의 제 1움직임 추정부(50)에서 제 2스케일러(58)는 단화소 움직임 벡터 검출부(52)로부터 출력된 하위필드 대 하위필드 경로의 단화소 움직임 벡터를 상위필드 대 하위필드 경로의 반화소 움직임 추정에 적용하기 위한 움직임 벡터 스케일링을 수행한다. 도 10은 P-화면과 B-화면에 대한 하위필드 대 하위필드 경로의 움직임 벡터를 스케일링하는 예를 나타내는 것이다.
도 10의 (a)는 제 2스케일러(58)에서 수행하는 P-화면의 순방향 움직임 추정을 위한 스케일링 방법을 나타내는 것으로써, 하위 필드(t-3)와 하위 필드(t)의 간격은 2×M이 되고, 상위 필드(t-3)와 하위 필드(t)의 간격은 2×M+1이 된다. 따라서, 상위필드 대 하위필드 경로의 단화소 움직임 벡터를 구하기 위해 하위필드 대 하위필드 경로의 단화소 움직임 벡터에 적용하는 스케일링 계수는 다음 식과 같이 정의된다.
[수식 9]
도 10의 (b)는 제 2스케일러(58)에서 수행하는 B-화면의 순방향 움직임 추정을 위한 스케일링 방법을 나타내는 것으로써, 하위 필드(t-3)와 하위 필드(t-2)의 간격은 2×PB가 되고, 상위 필드(t-3)와 하위 필드(t-2)의 간격은 2×PB+1이 된다.
따라서, 상위필드 대 하위필드 경로의 단화소 움직임 벡터를 구하기 위해 하위필드 대 하위필드 경로의 단화소 움직임 벡터에 적용하는 스케일링 계수는 다음식과 같이 정의된다.
[수식 10]
도 10의 (c)는 제 2스케일러(58)에서 수행하는 B-화면의 역방향 움직임 추정을 위한 스케일링 방법을 나타내는 것으로써, 역방향 움직임 추정과 관련되는 하위 필드(t)와 하위 필드(t-2)의 간격은 2×(M-PB)가 되고, 상위 필드(t)와 하위필드(t-2)의 간격은 2×(M-PB)-1이 된다.
따라서, 상위 필드 대 하위필드 경로의 단화소 움직임 벡터를 구하기 위해 하위 필드 대 하위필드 경로의 단화소 움직임 벡터에 적용하는 스케일링 계수는 다음 식과 같이 정의된다.
[수식 11]
제 2스케일러(58)는 상기와 같은 스케일링 계수들(FS2)을 사용하여 다음 식과 같이 상위필드 대 하위필드 경로의 단화소 움직임 벡터를 계산한다.
[수식 12]
도 6으로 되돌아와서 제 2움직임 추정부(60)는 반화소 움직임 벡터 검출부(62)와, 제 1 및 제 2멀티플렉서(Multiplexer; 64, 66)와, 제 2가산기(68)와, 필드/프레임 결정부(70)로 구성된다. 제 2움직임 추정부(60)에서 반화소 움직임 벡터 검출부(62)는 상기 제 1움직임 추정부(50)로부터 출력되는 5-경로의 단화소 움직임 벡터 각각을 기준으로하여 5-경로에 대한 반화소 단위의 움직임 벡터를 각각 검출한다.
제 1멀티플렉서(64)는 반화소 움직임 벡터 검출부(62)로부터 출력되는 상위필드 대 상위필드 움직임 벡터와 하위필드 대 상위필드 움직임 벡터를 선택적으로 절환하여 가산기(68)로 출력한다.
제 2멀티플렉서(66)는 반화소 움직임 벡터 검출부(62)로부터 출력되는 상위필드 대 하위필드의 움직임 벡터와 하위필드 대 하위필드의 움직임 벡터를 선택적으로 절환하여 가산기(68)로 출력한다. 가산기(68)는 제 1 및 제2멀티플렉서(64, 66)로부터 출력되는 필드의 반화소 움직임 벡터를 합하여 필드/프레임 결정부(70)로 출력한다. 필드/프레임 결정부(70)은 반화소 움직임 벡터 검출부(62)로부터 출력되는 프레임의 반화소 움직임 벡터 값과 가산기(68)로부터 출력되는 필드의 반화소 움직임 벡터 값을 비교하여 움직임 벡터 값이 적은 쪽을 선택하여 출력한다.
이에 따라, 도 7의 (a)에 도시된 바와 같이 화면의 물체가 4개의 필드에 걸쳐서 연속적으로 움직이는 경우, 즉 움직임이 큰 경우 우수하게 반화소 단위의 움직임 추정을 할 수 있게 된다.
그리고, 단화소 단위의 움직임 추정을 위하여 움직임 추정영역 내의 모든 위치를 탐색할 경우, 탐색영역의 크기가 증가함에 따라 단일 경로에 대한 단화소 단위의 움직임 추정 자체가 막대한 계산량을 요구하게 된다.
따라서, 단일 경로의 움직임 추정 자체의 계산량을 줄이기 위한 고속 탐색 알고리즘들이 많이 개발되었다. 그 대표적인 예가 계층적 블록 정합 알고리즘이다. 이하, 본 발명의 디지탈 영상을 위한 움직임 추정 방법을 계층적 정합 알고리즘을 사용하는 상황에 적용하여 설명하기로 한다.
도 11은 3개의 레이어(Layer)로 구성된 계층적 블록 정합 알고리즘의 예를 나타내고 있다.
계층적 블록 정합 알고리즘을 위해서는 단위 영상을 계층적 구조의 영상으로 재구성한다. 도 11에서 레이어 l+1 영상을 레이어 l 영상을 필터링 및 서브-샘플링하여 만든 영상으로써 레이어 l영상에 비하여 수평, 수직 방향의 화소 수가 1/2로 줄어든 영상이다.
이러한 계층적 구조의 영상을 사용하여 단 화소 단위의 움직임 추정을 하는 과정을 살펴보면 다음과 같다.
우선, 도 11에 도시된 레이어 2(즉, l=2)에서의 움직임을 추정한다. 여기서, 레이어 2는 원 영상의 크기가 수평, 수직으로 1/4씩 줄어든 영상을 가지고 움직임 추정을 한다.
이때, 움직임 추정 방법은 종래에서 언급한 바와 같이 줄어든 탐색 영역 전체에 대하여 크기가 줄어든 블록을 사용하여 블록 정합 오차를 계산하고, 비교하는 것이다. 블록 정합 방법의 계산량이 단위 블록 크기의 제곱과 탐색 영역 크기의 제곱의 곱에 비례하므로 레이어 2에서는 (1/4)2×(1/4)2만큼 줄어든 계산으로 움직임 추정을 수행할 수 있다.
다음, 도 11의 레이어 1(즉, l=1)에서의 움직임 추정을 한다. 여기서, 상기 레이어 2에서 구한 움직임 벡터의 정확도를 향상시키기 위하여 레이어 2에서 구한 움직임 벡터를 중심으로 하는 국부 영역에 대하여 블록 정합 방법을 적용한다. 레이어 1에서 국부 영역의 크기는 전체 탐색 영역에 비하여 무시할 수 있을 정도로 작기 때문에 레이어 1에서는 계산량의 큰 증가 없이 움직임 벡터의 정확도를 높일 수 있다.
그리고, 도 11의 레이어 0(즉, l=0)에서의 움직임 추정을 한다. 레이어 0(즉, l=0)에서 움직임 추정은 레이어 1에서의 움직임 추정과 마찬가지로 상기 레이어에서 구한 움직임 벡터를 중심으로 하는 국부 영역에 대하여 움직임 추정을 수행한다.
계층적 블록 정합 알고리즘을 적용하여 구한 최종 움직임 벡터는 상기 각 레이어에서 얻어진 움직임 벡터들의 벡터 합이 된다.
이때, 상위 레이어의 움직임벡터는 가장 하위 레이어의 해상도에 맞춰서 적절히 스케일링-업(Scaling-up) 된다.
도 12는 계층적 블록 정합 알고리즘을 단화소 움직임 추정 방법으로 사용하는 움직임 추정 방법을 설명하는 움직임 추정 장치를 도시한 것이다.
도 12에서 (a)는 게층적 블록 정합 알고리즘을 사용하는 종래의 움직임 추정방법을 나타내는 것으로써, 제 1움직임 추정부(22)는 계층적 블록 정합 알고리즘을 사용하여 단화소 단위의 움직임 추정을 수행한다. 제 2움직임 추정부(24)는 계층적 블록 정합 알고리즘의 가장 하위 레이어(즉, 레이어 0)를 사용하여 반화소 단위의 움직임 추정을 수행하는 방법을 생각할 수 있다.
여기서, 반화소 단위의 움직임 추정을 하나의 레이어로 보면 전체적으로는 4-레이어 계층적 탐색 기법이 되게 된다.
도 12에서 (b)는 계층적 블록 정합 알고리즘을 사용하는 본 발명의 움직임 추정 방법의 제 1실시예를 나타내는 것으로써, 단화소 움직임 추정단계에서 움직임 스케일링은 레이어 2와 레이어 1 사이에서 수행된다.
도 12에서 (c)는 게층적블록 정합 알고리즘을 사용하는 본 발명의 움직임 추정 방법의 제 2실시예를 나타내는 것으로써, 단화소 움직임 추정단계에서 움직임 스케일링은 레이어 1와 레이어 0 사이에서 수행된다. 도 12에서 (d)는 계층적 블록 정합 알고리즘을 사용하는 본 발명의 움직임 추정 방법의 제 3실시예를 나타내는 것으로써, 단화소 움직임 추정 단계에서 움직임 스케일링은 레이어 2와 반화소 단위의 움직임 추정 레이어 사이에서 수행된다.
표 1은 본 발명의 디지탈 영상을 위한 움직임 추정 방법의 효과를 확인하기 위하여 13종류의 MPEG-2 표준영상을 사용하여 부호화/복호화를 거친 영상에 대한 평균 PSNR을 나타낸 것이다.
[표 1]
여기서, 사용된 영상의 이름은 '발레(Bllet), 자전거(Bicycle), 버스(Bus), 치어리더(Ceer leaders), 컨페티(Confetti), 화원(Flower garden), 축구(Football), 믹스(Mix), 모빌 & 캘린더(Mobile and calendar), 거친파도(Popple), 수지(susie), tempete, 테니스(Tennis)'이다. 각 영상은 모두 30 frame/sec의 프레임 속도를 갖고, 각 영상의 유효 화소수는 NTSC 화면에 대응하는 720×480화소이다. 성능비교를 위해 선택된 방법은 도 12의 (a), (c), (d)에 도시된 계층적 블록 정합 알고리즘을 사용한 움직임 추정 방법이다. 표 1은 비교할 3가지 방법을 MPEG-2 영상의 소프트웨어에 적용하였을 때, 부호화/복호화를 거친 영상에 대한 평균 PSNR을 나타낸 것이다.
이때, 평균 PSNR은 다음 식과 같이 정의 된다.
[수식 12]
여기서, I(j, k), I(j, k), H, V는 각각 원 영상, 부호화/ 복호화된 영상, 영상의 수평, 수직 화소수를 의미한다. 부호화/복호화를 위해서 적용한 파라미터 값은 N(Group of Piccture의 크기)=12프레임, M(I, P-화면과 P-화면의 프레임 간격)=2, T(압축된 영상의 비트 전송율)=6Mbps이다. 표 1은 계층적 블록 정합 알고리즘을 사용한 본 발명의 디지탈 영상을 위한 움직임 추정 방법이 1/4의 계산량으로도 종래의 움직임 추정 방법과 근접한 성능을 갖게 됨을 나타내고 있다.
상술한 바와 같이, 본 발명의 디지탈 영상을 위한 움직임 장치 및 방법에 의하면, 단화소 움직임 벡터를 추정할 때 상위필드 대 상위필드, 하위필드 대 하위필드 경로의 단화소 단위의 움직임 벡터를 스케일링하여 상위필드 대 하위필드, 하위필드 대 상위필드 경로의 반화소 움직임 추정에 적용하므로써, 단화소 단위의 움직임 추정을 위한 계산량이 종래에 비하여 1/4만큼 감소되는 효과가 있다.
또한, 단화소와 반화소 단위의 움직임 추정에서 발생하는 중복된 계산을 방지할 수 있다.
이에 따라, 중복된 계산으로 인한 움직임 추정 성능의 저하를 방지할 수 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여 져야만 할 것이다.
Claims (12)
- 입력 영상을 부호화함에 있어 움직임을 추정하는 움직임 추정 장치에 있어서,이전영상을 탐색하여 입력영상에 대한 상위필드 대 상위필드 경로와 하위필드 대 하위필드의 경로의 단화소 움직임을 추정하는 제 1움직임추정수단과;상기 제 1움직임 추정수단에서 출력되는 움직임 벡터를 기초하여 프레임 움직임 벡터를 결정하는 프레임 벡터 결정수단과;상기 제 1움직임 추정수단에서 출력되는 움직임 벡터 각각을 스케일링하여 다른 경로의 필드 움직임 벡터를 결정하는 스케일링 수단과;상기 제 1움직임 추정수단 및 프레임 벡터 결정수단과 스케일링 수단에서 각각 출력되는 단화소 움직임 벡터를 기준으로 복호화된 영상을 탐색하여 반화소 단위의 움직음을 추정하는 제 2움직임 추정수단을 구비하는 것을 특징으로 하는 디지탈 영상을 위한 움직임 추정 장치.
- 제 1항에 있어서,상기 프레임 벡터 결정수단은상기 움직임 벡터들을 평균하여 프레임 벡터를 결정하는 것을 특징으로 하는 디지탈 영상을 위한 움직임 추정 장치.
- 제 1항에 있어서,상기 제 2움직임 추정수단은상기 프레임의 움직임 보상오차와 필드의 움직임 보상오차를 비교하여 보상 오차가 작은 쪽을 선택하여 출력하는 필드/프레임 결정수단을 추가로 구비하는 것을 특징으로 하는 디지탈 영상을 위한 움직임 추정 장치.
- 제 1항에 있어서,상기 스케일링 수단은상기 제 1움직임 추정수단에서 출력되는 상기 상위필드 대 상위필드 경로의 단화소 움직임 벡터에 임의의 스케일링 계수를 곱하여 하위필드 대 상위필드 경로의 단화소 움직임 벡터를 검출하는 제 1스케일링 수단과;상기 단화소 움직임 검출수단에서 출력되는 상기 하위필드 대 하위필드 경로의 단화소 움직임 벡터에 임의의 스케일링 계수를 곱하여 상위필드 대 하위필드 경로의 단화소 움직임 벡터를 검출하는 제 2스케일링 수단을 구비하는 것을 특징으로 하는 디지탈 영상을 위한 움직임 추정 장치.
- 제 4항에 있어서,상기 스케일링 수단은연속되는 필드 사이에 물체의 움직임을 등속운동으로 가정하고 화면 유형 및 움직임 추정 방향과 그에 따른 필드간의 거리에 따라 스케일링 계수를 결정하는 것을 특징으로 하는 디지탈 영상을 위한 움직임 추정 장치.
- 입력 영상을 부호화함에 있어 움직임을 추정하는 움직임 추정 방법에 있어서,이전영상을 탐색하여 입력영상에 대한 상위필드 대 상위필드 경로와 하위필드 대 하위필드의 경로의 단화소 단위의 움직임을 추정하여 움직임 벡터를 검출하는 제 1단계와;상기 필드 움직임 벡터를 기초하여 프레임 움직임 벡터를 결정하고 상기 필드 움직임 벡터를 각각 스케일링하여 다른 두 경로에 대한 필드 움직임 벡터를 결정하는 제 2단계와;상기 제 1 및 제 2단계에서의 움직임 벡터를 기준으로 복호화된 영상을 탐색하여 반화소 단위의 움직임 벡터를 검출하는 제 3단계를 포함하는 것을 특징으로 하는 디지탈 영상을 위한 움직임 추정 방법.
- 제 6항에 있어서,상기 프레임 단위의 움직임 보상오차와 필드 단위의 움직임 보상오차를 비교하여 보상오차가 작은 쪽을 선택하여 출력하는 단계를 추가로 포함하는 것을 특징으로 하는 디지탈 영상을 위한 움직임 추정 방법.
- 제 6항에 있어서,상기 2단계에서상기 프레임 움직임 벡터는 상기 필드 움직임 벡터들을 평균하여 구하는 것을 특징으로 하는 디지탈 영상을 위한 움직임 추정 장치.
- 제 6항에 있어서,상기 2단계에서상기 상위필드 대 상위필드 경로의 단화소 움직임 벡터에 임의의 스케일링 계수를 곱하여 하위필드 대 상위필드 경로의 단화소 움직임 벡터를 검출하고, 상기 하위필드 대 하위필드 경로의 단화소 움직임 벡터에 임의의 스케일링 계수를 곱하여 상위필드 대 하위필드 경로의 단화소 움직임 벡터를 검출하는 것을 특징으로 하는 디지탈 영상을 위한 움직임 추정 방법.
- 제 9항에 있어서,상기 스케일링 계수는연속되는 필드 사이에 물체의 움직임을 등속운동으로 가정하고 화면 유형 및 움직임 추정 방향과 그에 따른 필드간의 거리에 따라 가변적으로 결정되는 것을 특징으로 하는 디지탈 영상을 위한 움직임 추정 방법.
- 입력 영상을 부호화함에 있어 계층적 구조로 나누어 움직임을 추정을 수행하는 움직임 추정 방법에 있어서,서로 다른 탐색영역의 크기를 갖는 n(n≥2)개의 계층으로 구성된 입력영상과 이전영상의 상위필드 대 상위필드 경로와 하위필드 대 하위필드의 경로에 대하여 계층적으로 단화소 단위의 움직임을 반복 추정하여 임의의 계층에서 단화소 움직임 벡터를 검출하는 제 1단계와;상기 필드 음직임 벡터를 기초하여 프레임 움직임 벡터를 결정하고 상기 필드 움직임 벡터들을 각각 스케일링하여 다른 두 경로에 대한 필드 움직임 벡터를 결정하는 제 2단계와;상기 1 및 2단계에서의 움직임 벡터들을 기준을 상기 임의의 계층 다음의 m(1≤m<n)개의 계층에서 계층적으로 단화소 단위의 움직임을 반복 추정하여 최하위층에서 최종의 단화소 움직임 벡터를 검출하는 제 3단계와;상기 3단계에서 검출되는 단화소 움직임 벡터를 기준으로 복호화된 영상을 탐색하여 반화소 단위의 움직임을 추정하는 제 4단계를 포함하는 것을 특징으로하는 디지탈 영상을 위한 움직임 추정 방법.
- 입력 영상을 부호화함에 있어 계층적 구조로 나누어 움직임을 추정을 수행하는 움직임 추정 방법에 있어서,서로 다른 탐색영역의 크기를 갖는 n(n≥2)개의 계층으로 구성된 입력영상과 이전영상의 상위필드 대 상위필드 경로와 하위필드 대 하위필드의 경로에 대하여 계층적으로 단화소 단위의 움직임을 반복 추정하여 최하위층에서 단화소 움직임 벡터를 검출하는 제 1단계와;상기 필드 움직임 벡터를 기초하여 프레임 움직임 벡터를 결정하고 필드 움직임 벡터들을 각각 스케일링하여 다른 두 경로에 대한 필드 움직임 벡터를 결정하는 제 2단계와;상기 1 및 2단계에서의 움직임 벡터들을 기준으로 상기 복화하된 영상을 탐색하여 반화소 단위의 움직임을 추정하는 제 3단계를 포함하는 것을 특징으로 하는 디지탈 영상을 위한 움직임 추정 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970057610A KR100251548B1 (ko) | 1997-11-01 | 1997-11-01 | 디지털영상을위한움직임추정장치및방법 |
US09/182,194 US6430223B1 (en) | 1997-11-01 | 1998-10-30 | Motion prediction apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970057610A KR100251548B1 (ko) | 1997-11-01 | 1997-11-01 | 디지털영상을위한움직임추정장치및방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990038001A true KR19990038001A (ko) | 1999-06-05 |
KR100251548B1 KR100251548B1 (ko) | 2000-04-15 |
Family
ID=19523995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970057610A KR100251548B1 (ko) | 1997-11-01 | 1997-11-01 | 디지털영상을위한움직임추정장치및방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6430223B1 (ko) |
KR (1) | KR100251548B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100587263B1 (ko) * | 1999-03-27 | 2006-06-08 | 엘지전자 주식회사 | 비디오 신호의 프레임 율 변환 방법 |
KR100616755B1 (ko) * | 1999-03-29 | 2006-08-31 | 소니 가부시끼 가이샤 | 화상 처리 장치, 화상 처리 방법 및 저장 매체 |
KR100800772B1 (ko) * | 2004-05-26 | 2008-02-01 | 마츠시타 덴끼 산교 가부시키가이샤 | 움직임 벡터 부호화 장치, 방법, 프로그램 및 매체 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69933858T2 (de) * | 1998-12-10 | 2007-05-24 | Matsushita Electric Industrial Co., Ltd., Kadoma | Arithmetische filtervorrichtung |
JP3778721B2 (ja) * | 1999-03-18 | 2006-05-24 | 富士通株式会社 | 動画像符号化方法および装置 |
US6687388B2 (en) * | 2000-01-28 | 2004-02-03 | Sony Corporation | Picture processing apparatus |
ATE354141T1 (de) * | 2000-05-19 | 2007-03-15 | Koninkl Philips Electronics Nv | Ermittlung eines blockübereinstimmungskandidatenvektor |
US6687295B1 (en) * | 2000-07-27 | 2004-02-03 | Ati International | Method and apparatus for motion estimation for encoding sequential frames |
KR100360893B1 (ko) * | 2001-02-01 | 2002-11-13 | 엘지전자 주식회사 | 영상 움직임 보상 장치 및 방법 |
US6687301B2 (en) * | 2001-03-19 | 2004-02-03 | Fulvio Moschetti | Method for block matching motion estimation in digital video sequences |
US7817717B2 (en) * | 2002-06-18 | 2010-10-19 | Qualcomm Incorporated | Motion estimation techniques for video encoding |
KR20040070490A (ko) * | 2003-02-03 | 2004-08-11 | 삼성전자주식회사 | 비월 주사 방식의 동영상 부호화/복호화 방법 및 그 장치 |
US7075581B1 (en) * | 2003-06-03 | 2006-07-11 | Zoran Corporation | Interlaced-to-progressive scan conversion based on film source detection |
US7206411B2 (en) | 2003-06-25 | 2007-04-17 | Wegener Communications, Inc. | Rapid decryption of data by key synchronization and indexing |
KR100579542B1 (ko) * | 2003-07-29 | 2006-05-15 | 삼성전자주식회사 | 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법 |
US7185187B2 (en) * | 2003-09-11 | 2007-02-27 | Wegener Communications, Inc. | Protected dual purpose power/enter switch apparatus and method |
JP4470431B2 (ja) * | 2003-10-01 | 2010-06-02 | ソニー株式会社 | データ処理装置およびその方法 |
KR100994773B1 (ko) | 2004-03-29 | 2010-11-16 | 삼성전자주식회사 | 계층적 움직임 추정에 있어서 움직임 벡터 생성 방법 및장치 |
US7450180B2 (en) * | 2004-12-29 | 2008-11-11 | General Instrument Corporation | Method for detecting interlaced material and field order |
US20060222251A1 (en) * | 2005-04-01 | 2006-10-05 | Bo Zhang | Method and system for frame/field coding |
EP1811457A1 (en) * | 2006-01-20 | 2007-07-25 | BRITISH TELECOMMUNICATIONS public limited company | Video signal analysis |
KR100734314B1 (ko) * | 2006-02-11 | 2007-07-02 | 삼성전자주식회사 | 움직임 보상 기반의 영상 압축 시스템에서의 영상 신호의공간 해상도 변환 방법 |
US8090024B2 (en) * | 2007-06-25 | 2012-01-03 | Sigma Designs, Inc. | Methods for processing two data frames with scalable data utilization |
KR101336951B1 (ko) * | 2007-11-02 | 2013-12-04 | 삼성전자주식회사 | 휴대 단말기 및 그 파노라마 이미지 촬영 모드 수행 방법 |
CN101540902B (zh) * | 2008-03-20 | 2011-02-02 | 华为技术有限公司 | 运动矢量的缩放方法和装置、编解码方法和系统 |
WO2009148412A1 (en) * | 2008-06-06 | 2009-12-10 | Agency For Science, Technology And Research | Methods and devices for estimating motion in a plurality of frames |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4937666A (en) * | 1989-12-04 | 1990-06-26 | Bell Communications Research, Inc. | Circuit implementation of block matching algorithm with fractional precision |
US5227878A (en) * | 1991-11-15 | 1993-07-13 | At&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video |
KR950014862B1 (ko) * | 1992-02-08 | 1995-12-16 | 삼성전자주식회사 | 움직임추정방법 및 그 장치 |
JP2636622B2 (ja) * | 1992-03-13 | 1997-07-30 | 松下電器産業株式会社 | ビデオ信号の符号化方法及び復号化方法ならびにビデオ信号の符号化装置及び復号化装置 |
JPH05336514A (ja) * | 1992-05-29 | 1993-12-17 | Sony Corp | 画像符号化装置 |
US6160849A (en) * | 1992-06-29 | 2000-12-12 | Sony Corporation | Selectable field and frame based predictive video coding |
US5398079A (en) * | 1993-01-27 | 1995-03-14 | General Instrument Corporation | Half-pixel interpolation for a motion compensated digital video system |
KR0166724B1 (ko) * | 1993-05-08 | 1999-03-20 | 김광호 | 반화소정확도를 갖는 동벡터추정방법 및 그 장치 |
KR960010198B1 (ko) * | 1993-07-21 | 1996-07-26 | 배순훈 | 동영상 부호화기의 움직임 추정방법 및 장치 |
-
1997
- 1997-11-01 KR KR1019970057610A patent/KR100251548B1/ko not_active IP Right Cessation
-
1998
- 1998-10-30 US US09/182,194 patent/US6430223B1/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100587263B1 (ko) * | 1999-03-27 | 2006-06-08 | 엘지전자 주식회사 | 비디오 신호의 프레임 율 변환 방법 |
KR100616755B1 (ko) * | 1999-03-29 | 2006-08-31 | 소니 가부시끼 가이샤 | 화상 처리 장치, 화상 처리 방법 및 저장 매체 |
KR100800772B1 (ko) * | 2004-05-26 | 2008-02-01 | 마츠시타 덴끼 산교 가부시키가이샤 | 움직임 벡터 부호화 장치, 방법, 프로그램 및 매체 |
Also Published As
Publication number | Publication date |
---|---|
KR100251548B1 (ko) | 2000-04-15 |
US6430223B1 (en) | 2002-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100251548B1 (ko) | 디지털영상을위한움직임추정장치및방법 | |
US7362808B2 (en) | Device for and method of estimating motion in video encoder | |
US6148027A (en) | Method and apparatus for performing hierarchical motion estimation using nonlinear pyramid | |
KR100242406B1 (ko) | 디지탈 비디오 동화상의 움직임 보상 방법 | |
CN100452832C (zh) | 使用行和列向量的运动向量估计 | |
KR100560843B1 (ko) | 비디오 부호기에서 적응 움직임 벡터의 탐색 영역을결정하는 방법 및 장치 | |
US7903731B2 (en) | Methods and transcoders that estimate an output macroblock and motion vector for video transcoding | |
JP3778960B2 (ja) | 動画像符号化方法及び装置 | |
JP4494803B2 (ja) | 動き補償に基づいた改善されたノイズ予測方法及びその装置とそれを使用した動画符号化方法及びその装置 | |
JP2000083257A (ja) | ビデオエンコ―ダの運動推定器における場面の変化の検知 | |
JP3519441B2 (ja) | 動画像伝送装置 | |
JP2001128179A (ja) | 動画像符号化装置および方法 | |
KR100266161B1 (ko) | 디지털 영상을 위한 움직임 추정방법(Method of Predicting Motion for Digital Image) | |
US20030081676A1 (en) | Methods and systems for video transcoding in DCT domain with low complexity | |
JP3478836B2 (ja) | デジタル画像シーケンスの符号化方法および符号化装置 | |
KR0152014B1 (ko) | 화상데이타압축에서의 움직임추정방법 및 그 장치 | |
KR100382540B1 (ko) | 움직임추정방법 | |
KR100262962B1 (ko) | 움직임 추정방법 및 장치 | |
JPH10191347A (ja) | 動き検出装置、動き検出方法、及び、記憶媒体 | |
JP3237029B2 (ja) | 動画像圧縮装置 | |
JPH06105299A (ja) | 動画像圧縮装置 | |
JP4353928B2 (ja) | データ圧縮方法、記録方法、及び伝送方法 | |
KR19980066971A (ko) | 움직임 이동량 검출기능을 갖는 영상 부호화 장치 | |
JP4359274B2 (ja) | 動画像圧縮符号化装置 | |
JPH10191346A (ja) | 動き検出装置、動き検出方法、及び、記憶媒体 |
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: 20080102 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |