KR19990058255A - 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법. - Google Patents
1/4픽셀 움직임 벡터를 이용한 동영상 압축방법. Download PDFInfo
- Publication number
- KR19990058255A KR19990058255A KR1019970078345A KR19970078345A KR19990058255A KR 19990058255 A KR19990058255 A KR 19990058255A KR 1019970078345 A KR1019970078345 A KR 1019970078345A KR 19970078345 A KR19970078345 A KR 19970078345A KR 19990058255 A KR19990058255 A KR 19990058255A
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- pixel
- motion
- image
- units
- 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/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/513—Processing of motion vectors
-
- 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/169—Methods 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/17—Methods 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/176—Methods 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 block, e.g. a macroblock
-
- 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/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 동영상 압축 및 복원에 관한 것으로, 특히 움직임 벡터를 이용하여 움직임 예측을 통해 동영상을 압축하게 될때, 1/4 픽셀(quarter-pixel) 까지 확장하여 움직임 벡터를 구하도록 하여 이에 따라서 영상을 압축하여 전송하도록 한 1/4 픽셀 움직임 벡터를 이용한 동영상 압축방법에 관한 것이다.
일반적인 종래 종래 움직임 벡터 검출 방법에 있어서는 1 픽셀 단위의 움직임 벡터를 구한다음 이에 대한 매크로 블록과 이와 인접한 픽셀에 대응하는 매크로 블록과의 보간 즉, 상기 두 매크로 블록간의 단순 평균값을 이용하여 1/2 픽셀(half-pixel)까지 움직임 벡터를 구하도록 한다.
본 발명에서는 1 픽셀 단위의 움직임 벡터에 대한 매크로 블록과 이와 인접한 픽셀에 대응하는 매크로 블록과의 보간이 단순 평균값이 아닌 위치에 따르는 가중치를 사용하여 움직임 벡터의 단위를 최소 1/4 픽셀 단위까지 계산하도록 하므로써, 영상 압축 효율이 높아지므로, 영상 복호가 완료된 후에는 보다 향상된 화질을 제공할 수 있도록 하는 것이다.
Description
본 발명은 동영상 압축 및 복원에 관한 것으로, 특히 움직임 벡터를 이용하여 움직임 예측을 통해 동영상을 압축하게 될때, 1/4 픽셀(quarter-pixel) 까지 확장하여 움직임 벡터를 구하도록 하여 이에 따라서 영상을 압축하여 전송하도록 한 1/4 픽셀 움직임 벡터를 이용한 동영상 압축방법에 관한 것이다.
동영상 압축 및 복원에 대한 규격(ISO/IEC 13818-2)이 보편화되어 여러 분야에서 MPEG(Motion Picture Expert Group)을 이용한 기술이 많이 사용되고 있으며, 이의 구성을 도 1 및 도 2에 도시하였다.
먼저, 도 1은 동영상 압축부호화 장치의 구성을 개략적으로 나타낸 블록도로서, 필드/프레임 저장부(1)에 필드 또는 프레임단위로 저장된 입력 영상은 감산기(2)를 거쳐 DCT부(3)에서 DCT(Discret Cosine Transform)처리되어 필드 또는 프레임의 블록단위로 주파수별 배열된 후, 양자화부(4)에서 양자화(quantization)를 실행하게 된다.
이와 같이 양자화부(4)를 통해 양자화된 영상은 가변길이코딩부(VLC; Variable Lenth coding)(5)에서 코딩된다.
이와 같이 압축된 비트열(bit stream)들은 버퍼(buffer)의 제어 및 전송률에 따라 일시 저장된 후, 버퍼(6)를 통해 출력된다.
이때, 상기 감산기(2)에서는 필드/프레임(1)으로 부터 입력되는 입력영상과 움직임 보상부(12)로 부터 입력되는 영상의 차를 구하여 DCT부(3)에서 DCT처리를 하도록 하는 바,
상기 필드/프레임 저장부(1)에서 출력되는 영상이 I 픽처(picture)일 경우에는 움직임 보상부(12)(MC; Motion Compensation)로 부터 움직임 보상된 영상이 없으므로, 그대로 상기에서와 같이 부호화되어 출력된다.
그러나, P 픽처 또는 B 픽처일 경우에는 필드/프레임 저장부(1)로 부터 입력되는 영상과 움직임 보상부(12)로 부터 입력되는 움직임 예측 및 보상된 영상을 감산기(2)에서 그 차를 구하여 DCT를 실행하도록 한다.
이와 같이 상기 움직임 보상부(12)로 부터 움직임이 보상된 영상을 출력하기 위하여서 상기 양자화부(4)를 통해 양자화된 영상을 역양자화부(7)를 통하여 역양자화(inverse quantization)과정을 실행하고, 다시 역DCT부(8)를 거쳐 역DCT를 실행하여 현재의 영상을 복원하게 된다.
이와 같이 복원된 영상은 상기 감산기(2)를 통해 출력되는 영상값과 대응되어진다.
이와 같이 복원된 영상은 메모리(10)에 저장되어, 이후의 영상에 대한 리퍼런스(reference)로 사용되어 다음 영상의 움직임 예측에 사용되어지도록 한다.
움직임 추정부(11)(ME; Motion Estimation)에서는 이와 같이 복원된 현재의 영상에 대하여 다음 부호화하고자 하는 영상의 움직임을 예측하게 되는 바,
현재의 영상과 움직임 예측을 하고자 하는 영상과의 블록 매칭(block matching)을 하여 가장 잘 매칭이 이루어지는 움직임 벡터(motion vector)를 구하게 된다.
이와 같이 구하여진 움직임 벡터값에 따라서 움직임 보상부(12)에서는 움직임 보상된 영상을 출력하게 된다.
이와 같이 움직임 보상된 영상은 감산기(2)로 출력되고, 또한 지연부(13)를 통해 일정시간 지연되었다가 움직임 보상되어 양자화단계를 거친 영상이 상기에서와 같이 다시 역양자화를 거쳐 합산기(9)로 입력되어질 때, 그때 동기를 맞추어 합산기(9)로 출력되어 합산되고, 합산된 값은 메모리(10)에 저장되어 상기에서 설명한 바와 같이, 다음 영상의 움직임 예측에 사용되어진다.
즉, 지연부(13)를 통해 출력되는 움직임 예측할 당시의 영상과 압축된 후 다시 복원된 즉, 움직임 보상된 영상을 합산하여 원래의 영상으로 복원하여 다음 영상의 움직임 예측에 사용되어지는 것이다.
상기에서와 같은 과정으로 압축 부호화되어 출력되는 영상은 복호기(decoder)에서 복원 복호화되는 데, 도 2는 이의 구성을 나타낸 것으로,
이와 같은 과정으로 압축부호화된 영상이 비트 스트림 형태로 입력되면, 입력되는 영상에 대하여 가변길이 디코딩부(21)에서 매크로 블록 단위로 처리되어 가변길이 디코딩이 실행되고, 역스캔(inverse scan)이 이루어지면 매크로 블록에 대한 복원값이 2차원 어레이 형태로 생성된다.
이와 같이 디코딩 영상은 역양자화부(22)를 통하여 역양자화를 실행하고, 역DCT부(23)를 통해 역DCT가 실행하여 압축 부호화된 영상을 복원하게 된다.
이때, 움직임 보상부(24)에서는 이와 같이 복원된 영상의 픽처 타입(picture type)이 I 픽처일 경우에는 바로 출력하거나 다음 픽처 디코딩에 사용하기 위하여 프레임 저장 메모리(25A,25B) 또는 프레임 저장 메모리(25C)중의 하나에 저장하게 된다.
현재 디코딩 되고 있는 영상의 픽처 타입이 B 픽처나 P 픽처일 경우에는 비트열에 포함되어 있는 움직임 벡터와 이전에 디코딩되어 저장되어 있는 영상을 이용하여 해당 픽처의 영상을 모두 복원하게 된다.
일반적으로 동영상 압축부호화는 원 영상(original picture)의 화질을 손상시키지 않으면서, 높은 압축비를 얻을 수 있도록 하여 전송률을 향상시킬 수 있도록 함을 주목적으로 하고 있는 바, 높은 압축비를 얻기위해서는 시간상 및 공간상의 리던던시(redundancy)를 줄여야 한다.
그러므로, 시간상 및 공간상의 리던던시를 줄이기 위하여 상기에서와 같이, 각 프레임(frame)에 대하여 움직임을 추정하고, 추정된 움직임에 대하여 복원영상을 만들어, 원영상과 비교하여 움직임 벡터를 검출하여 압축하도록 하는 바,
이와 같이 동영상의 압축부호화 및 복호화에 있어, 영상의 압축 및 복원이 이루어지게 됨에 있어, 본 발명에서는 상기 움직임을 예측하기 위하여 움직임 벡터의 값을 구하는 방법에 관한 것으로,
일반적으로 MPEG2-Video(ISO/IEC 13818-2)에서의 움직임 예측방법은 블록 매칭의 방법을 이용하고 있는 바, 블록 매칭의 방법도 픽처 타입이 프레임 픽처인지 필드 픽처인지에 따라서 매칭을 수행할 블록의 구성이 틀리며, 움직임 예측의 방법에 있어서도 frame_based, field_based, dual_prime의 방법에 따라서 상세내용이 조금씩 다르다.
여기에서는 대표적으로 프레임 픽처 구조에서 frame_based 움직임 예측에 대하여 설명하면 다음과 같다.
도 3은 움직임 예측시에 사용되는 블록 매칭과 움직임 벡터의 값을 구하는 방법을 나타내는 것으로, 종래에는 움직임 벡터를 1/2 픽셀 단위로 구하게 되는 바,
현재 영상 프레임(current frame)(CF)은 영상 압축을 직접 수행하는 영상이며, 기준 영상 프레임(reference frame)(RF)은 현재 영상 프레임(CF)의 움직임 벡터(MV)를 계산하기 위하여 기준으로 사용하는 영상인 바, 현재 영상 프레임(CF)에서 순차적으로 각각의 매크로 블록에 대하여 움직임 벡터 및 압축의 과정이 동반되는 데, 이때 현재 영상 프레임(CF)의 매크로 블록(CM)에 대하여 블록 매칭이 가장 잘 되는 부분을 찾게 된다.
도 3에 도시된 기준 영상 프레임(RF)에서 그려진 BM이 블록 매칭이 가장 잘 되는 부분이라고 할 경우, 현재 영상 프레임(CF)의 매크로 블록(CM)의 움직임 벡터는 도면에 도시된 바와 같이, MV가 된다.
이때, 블록 매칭은 정해진 탐색 윈도우(serch window)에 대하여 full_serch, n-step search, telescpic search 등의 방법이 이용된다.
상기와 같이 블록 매칭 과정을 거치게 되면, 움직임 벡터가 구해지며, 이때의 움직임 벡터의 단위는 1 픽셀이 된다.
보다 효율적인 움직임 예측을 위하여 1/2 픽셀단위로 움직임 벡터를 구하게 되는 바, 1/2 픽셀단위의 움직임 벡터를 구하는 방법은 다음과 같다.
도 4에서 CM은 기준 영상 프레임(RF)에서의 현재 매크로 블록을 가상으로 나타낸 것이며, BM은 기준 영상 프레임(RF)상에서의 1 픽셀 단위로 블록 매칭을 실시하여 최상의 결과를 얻어낸 위치이다.
여기서, 매크로 블록의 크기는 16*16 픽셀로 이루어지지만, 설명상 8*8 픽셀로 나타내기로 한다.
e 의 위치가 1 픽셀 분석(resolution)으로 구한 움직임 벡터가 되며, a,b,c,d,f,g,h,i 의 위치가 1/2 픽셀 분석으로의 움직임 벡터의 후보가 된다.
이후, 각각의 상기 후보에 대하여 블록 매칭을 다시 수행하게 되는 데, 이때 사용하는 기준 프레임(RF)상에서의 가상 매크로 블록의 값은 e의 위치를 중심으로 한 매크로 블록과 e의 위치를 중심으로 각각의 후보가 있는 방향으로 1픽셀 이동하여 얻어지는 매크로 블록들과의 보간(interpolation)을 수행하여 구하게 된다.
이때, 보간을 수행하는 방법은 상기 2개의 매크로 블록내의 값들을 서로 균등하게 평균하여 계산하면 된다.
이상과 같은 일련의 과정을 통하여 1/2 픽셀 단위의 움직임 벡터를 구하고, 이를 MPEG-2에서 규정하는 신텍스(syntax)에 맞도록 영상압축을 수행한다.
이와 같이 종래 움직임 벡터 검출 방법에 있어서는 1 픽셀 단위의 움직임 벡터를 구한다음 이에 대한 매크로 블록과 이와 인접한 픽셀에 대응하는 매크로 블록과의 보간 즉, 상기 두 매크로 블록간의 단순 평균값을 이용하여 1/2 픽셀(half-pixel)까지 근접(pseudo)한 움직임 벡터를 구하도록 한다.
본 발명에서는 매크로 블록간의 단순 평균값이 아닌 위치에 따른 가중치를 사용하여 1/4 픽셀(quarter-pixel) 단위로 움직임 벡터를 검출하고, 이에 따라 영상압축을 실행하도록 하므로써, 영상압축 효율을 향상시키고, 복호기(decoder)를 통해 영상 복호화가 실행되었을때, 보다 선명한 화질을 제공할 수 있도록 한 것이다.
도 1은 일반적인 움직임 벡터를 이용한 동영상 압축 부호화장치의 구성 블록도.
도 2는 일반적인 움직임 벡터를 이용한 동영상 복호화장치의 구성 블록도.
도 3은 일반적인 움직임 예측과 움직임 벡터를 구하는 과정을 나타낸 도면.
도 4는 종래 1/2 픽셀 움직임 벡터를 구하는 과정을 설명하기 위한 도면.
도 5 및 도 6은 본 발명에 있어 1/4 픽셀 움직임 벡터를 계산하는 과정을 설명하기 위한 실시예를 나타낸 도면.
도 7은 본 발명에 있어 1/4 픽셀 움직임 벡터에 의한 움직임 보상방법을 설명하기 위한 도면.
본 발명은 1/4 픽셀 단위까지 움직임 벡터를 검출하여 영상압축을 실행할 수 있도록 하는 것으로, 그 실행구성을 설명하면 다음과 같다.
압축을 수행하고자 하는 현재 영상 프레임(current frame)에 대하여 이전 영상 프레임(reference frame)으로 부터 그 움직임을 예측하여 움직임 벡터를 검출하고, 검출된 움직임 벡터에 따라서 현재 영상을 영상압축하도록 하는 움직임 벡터를 이용한 동영상 압축방법에 있어서,
상기 움직임 벡터는 1픽셀 단위로 구한 움직임 벡터에 대하여 인접 픽셀에 대응하는 블록과의 위치에 따른 가중치를 고려하여 1/4 픽셀 단위로 검출하여 영상압축을 실행하도록 함을 특징으로 하며,
상기 1/4 픽셀 단위의 움직임 벡터 검출방법은 1픽셀 단위의 움직임 벡터를 검출하는 과정과,
검출된 1픽셀 단위의 움직임 벡터에 대한 매크로 블록과 이와 인접한 픽셀에 대응하는 매크로 블록과의 위치에 따른 가중치를 적용하여 이전 프레임(reference frame)상의 가상의 블록을 구하는 과정과,
상기 과정에서 구한 이전 프레임(reference frame)상의 가상의 블록과 현재 프레임(current frame)의 매크로 블록과의 블록매칭을 수행하는 과정과,
상기 과정에서의 블록 매칭 결과와 상기 과정에서 구한 1픽셀 단위의 움직임 벡터와 비교하여 가장 좋은 결과를 선택하는 1/4 픽셀 단위의 움직임 벡터 검출과정으로 이루어진다.
도 5는 도 4에서와 같이 매크로 블록을 8*8 픽셀로 표시하여, 1/4 픽셀단위의 움직임 벡터를 계산하기 위한 과정을 설명하기 위한 도면이다.
먼저, 종래에서와 마찬가지로 현재 영상 프레임에 대하여 블록 매칭을 수행하여 1 픽셀 단위의 움직임 벡터를 구하게 되는 바, 도 5에 도시된 b의 위치는 1픽셀단위로 움직임 벡터를 구하게 되었을 경우의 중심위치이다.
그러면, 1/4 픽셀단위의 움직임 벡터를 구하는 과정을 설명하기 전에 종래에서 간략하게 설명했던 1/2 픽셀 단위의 움직임 벡터를 구하는 방법을 먼저 설명하면 다음과 같다.
상기에서와 같이 1픽셀 단위의 움직임 벡터를 이용하여 1/2픽셀 단위의 움직임 예측을 하게 되는 데, b의 위치를 중심으로 하여 8개의 방향으로 1/2 픽셀의 거리에 있는 가상의 픽셀위치를 정하면 이는 8개 각 방향으로 1',2',3',4',5',6', 7',8'이 정해진다.
이와 같이 정하여진 8가지의 1/2 픽셀 벡터 각각에 대하여 블록 매칭을 수행하여 가장 잘 매칭이 되는 후보를 선택하면, 그 값이 1/2 픽셀 단위의 움직임 벡터가 되는 것이다.
이를 도면상에 예를 들어 설명하면, 1'의 위치가 픽셀 a와 b의 중간위치이므로, 기준 프레임에서 a를 기준으로 한 블록(A)과 b를 기준으로 한 블록(b)에 대한 각 값들의, 평균하여 구한 가상의 기준 프레임상의 블록을 구하고, 이와 같이 구한 기준 프레임상의 가상 블록과 현재 프레임의 매크로 블록과의 블록 매칭정도를 계산한다.
상기에서와 같은 방법으로 각 위치(2',3',4',5',6',7',8')에 대하여 블록매칭을 수행하여 이들 8가지 블록 매칭의 결과와 1픽셀 단위의 b의 위치에서의 결과를 비교하여 가장 좋은 결과가 나오는 위치가 바로 1/2 픽셀 단위의 움직임 벡터를 구한 값이 되는 것이다.
이에 비해 본 발명에서의 1/4 픽셀 단위의 움직임 벡터를 구하는 방법은,
1 픽셀 단위의 움직임 벡터에서 b의 위치를 중심으로 움직임을 예측하여 8개의 방향으로 1/4 픽셀간격의 거리에 있는 가상 픽셀 위치를 정하면 이는 8개 각 방향으로 1,2,3,4,5,6,7,8의 위치가 정하여진다.
이와 같이 구한 가상의 픽셀 각각에 대하여 상기와 같은 방법으로 블록 매칭을 수행하여 가장 잘 매칭이 되는 후보를 선택하게 되는 바,
예를 들면, 1의 위치에 대한 대한 블록 매칭은 1의 위치가 픽셀 a와 b 사이의 거리가 1이라고 가정하면 a로 부터는 3/4의 거리에 위치하고, b로 부터는 1/4의 거리에 위치하므로 기준 프레임에서 a를 기준으로 한 블록(A)의 각각의 값들에 대하여서는 가중치를 1/4로 하고, b를 기준으로 한 블록(B)에 대하여서는 각각의 값들에 대하여 가중치를 3/4로 하여 계산한 가상의 기준 프레임상의 블록을 구한다.
그리고, 이와 같이 구한 기준 프레임상의 가상의 블록과 현재 프레임의 매크로 블록과의 블록 매칭정도를 계산한다.
상기에서와 같은 방법으로 각 위치(2,3,4,5,6,7,8)에 대하여 블록 매칭을 수행하여 이들 8가지 블록 매칭의 결과와 1 픽셀 단위의 b의 위치에서의 결과를 비교하여 가장 좋은 결과가 나오는 위치가 바로 1/4 픽셀단위의 움직임 벡터인 것이다.
또한, 도 6은 상기한 본 발명에서의 1/4 픽셀 단위의 움직임 벡터를 구하는 실시예와 또다른 방법을 나타낸 실시예로써,
도 6에 도시된 실시예에 있어서는, 1 픽셀 단위의 움직임 벡터에서 b의 위치를 중심으로 움직임을 예측하여 8개의 방향으로 1/4 픽셀간격의 거리에 있는 또다른 1,2,3,4,5,6,7,8의 위치를 가상 픽셀 위치로 정한 것이다.
이와 같이 구한 가상의 픽셀 각각에 대하여 상기와 같은 방법으로 가장 잘 매칭이 되는 후보를 선택하게 되는 데, 가상의 각 위치에 대한 블록 매칭은 상기와 동일하게 픽셀 a와 b 사이의 거리가 1이라고 가정할 경우,
본 실시예에 있어서는 각상의 각 픽셀의 위치는 상기와는 반대로 a로 부터는 1/4의 거리에 위치하고, b로 부터는 3/4의 거리에 위치하므로 기준 프레임에서 a를 기준으로 한 블록(A)의 각각의 값들에 대하여서는 가중치를 3/4로 하고, b를 기준으로 한 블록(B)에 대하여서는 각각의 값들에 대하여 가중치를 1/4로 하여 계산한 가상의 기준 프레임상의 블록을 구하여 상기 도 5의 실시예에서와 동일한 블록 매칭을 수행하여 가장 좋은 결과를 구하여 1/4 픽셀단위의 움직임 벡터를 구하게 된다.
이와 같이 도 5 및 도 6에 도시된 바와 같은 방법으로 1/4 픽셀 단위의 움직임 벡터를 구할 수 있으며, 또한 엔코딩의 능력에 따라서는 두가지 방법으로 1/4 픽셀 단위의 움직임 벡터를 구하고, 이들 값을 비교하여 가장 정확한 값을 선택하여 움직임 벡터를 구할 수도 있다.
상기에서와 같은 방법으로 움직임 예측된 영상프레임을 압축하여 전송하게 되면, 1/2 픽셀 단위의 움직임 벡터를 적용한 경우보다 복호기에서 개선된 화질을 제공받을 수 있게 되는 바,
이를 복호기에서 복호화함에 있어, 움직임에 대하여 보상을 실행하게 되는 데, 상기에서와 같은 방법으로 그 보상을 실행하게 된다.
도 7을 참조하여 움직임 보상 과정을 설명하면 다음과 같다.
복호기에서 받은 1/4 단위의 움직임 벡터의 정확한 위치를 1의 위치라고 할 경우, 이와 같은 1/4 픽셀 단위의 움직임 벡터에 대한 움직임 보상은 다음과 같이 이루어진다.
1픽셀 단위의 움직임 벡터를 기준 프레임에서 찾아 해당 블록(B)을 구한다.
이와 같이 구한 b의 위치를 중심으로 한 블록(B)과 인접한 a의 위치를 중심으로 한 블록(A)에 가중치를 적용하여 1/4 픽셀 단위의 움직임 벡터의 위치 1에 대한 움직임 보상에서 필요한 기준 블록(reference block)을 계산하게 된다.
즉, 블록(A)에는 각각의 값들에 대하여 1/4 가중치를 적용하고, 블록(B)은 3/4 가중치를 적용하여(곱하고), 이와 같이 가중치가 각각 곱하여진 블록(A,B)의 각 값들을 평균하여 가상의 매크로 블록을 구하고, 이와 같은 가상의 매크로 블록으로 움직임 보상을 수행하게 되는 것이다.
상기에서와 같이 1/4 픽셀 단위의 움직임 벡터를 이용한 영상압축부호화된 영상을 복호화하는 복호기에서는 1/2 움직임 벡터 신텍스로 전송되어온 것을 1/4 움직임 벡터로 온것으로 변환하여 처리하게 되는 바,
이러한 경우 전송측으로 부터 전달되어오는 비트스트림에 담겨진 정보를 이용하여 1/2 움직임 벡터는 1/2 움직임 보상방법으로, 1/4 움직임 벡터는 1/4 움직임 보상 방법으로 움직임을 보상하게 된다.
또한, 이와 같은 방법으로 1/4 픽셀 단위의 움직임 벡터를 적용한 영상 압축 및 복원이 이루어지게 됨에 있어서, 상기와 같이 1/2, 1/4 두가지 모두를 지원하지 않고 1/2 움직임 벡터를 적용하여 움직임 보상을 수행하는 기존의 복호기와 호환을 유지하기 위해서는, 부호화기에서는 1/2 움직임 벡터와 같은 신텍스로 전송하게 되며, 기존의 복호기에서는 1/2 움직임 벡터로 인식하여 이를 종전과 동일하게 움직임 보상을 수행하게 되므로써, 기존의 규격 ISO/IEC 13818-2 (MPEG-2)과 호환을 유지할 수 있도록 할 수 있다.
즉, 도 5에 도시된 바와 같은 1,2,3,4,5,6,7,8,b의 위치대신에 1/2 픽셀 단위로 움직임을 예측한 1',2',3',4',5',6'.,7',b에 해당하는 1/2 픽셀 단위의 움직임 벡터로 대응하여 전송하게 되는 것이다.
이때, 1/4로 움직임 벡터를 예측하고 1/4 움직임 보상방법으로 움직임 보상을 수행하면 좋은 결과가 나타나지만, 1/4로 움직임 예측을 한 후 1/2 픽셀 단위의 움직임 보상을 할 경우에는 움직임 보상은 이루어 지지만 영상의 GOP(Group of picture)가 커질 경우에 오차의 누적(error propagation)이 발생할 수도 있다.
이와 같은 경우를 방지하기 위해서는 영상 압축시 오차의 누적을 고려하여 영상 압축 알고리듬을 개선하면 된다.
이상에서 설명한 바와 같이, 1 픽셀 단위의 움직임 벡터에 대한 매크로 블록과 이와 인접한 픽셀에 대응하는 매크로 블록과의 보간이 단순 평균값이 아닌 위치에 따르는 가중치를 사용하여 움직임 벡터의 단위를 최소 1/4 픽셀 단위까지 계산하도록 하므로써, 영상 압축 효율이 높아지므로, 영상 복호가 완료된 후에는 보다 향상된 화질을 제공할 수 있게 되는 효과가 있다.
Claims (2)
- 압축을 수행하고자 하는 현재 영상 프레임(current frame)에 대하여 이전 영상 프레임(reference frame)으로 부터 그 움직임을 예측하여 움직임 벡터를 검출하고, 검출된 움직임 벡터에 따라서 현재 영상을 영상압축하도록 하는 움직임 벡터를 이용한 동영상 압축방법에 있어서,상기 움직임 벡터는 1픽셀 단위로 구한 움직임 벡터에 대하여 인접 픽셀에 대응하는 블록과의 위치에 따른 가중치를 고려하여 1/4 픽셀 단위로 검출하여 영상압축을 실행하도록 함을 특징으로 하는 1/4 픽셀 움직임 벡터를 이용한 동영상 압축방법.
- 제 1항에 있어서, 상기 1/4 픽셀 단위의 움직임 벡터 검출방법은 1픽셀 단위의 움직임 벡터를 검출하는 과정과,검출된 1픽셀 단위의 움직임 벡터에 대한 매크로 블록과 이와 인접한 픽셀에 대응하는 매크로 블록과의 위치에 따른 가중치를 적용하여 이전 프레임(reference frame)상의 가상의 블록을 구하는 과정과,상기 과정에서 구한 이전 프레임(reference frame)상의 가상의 블록과 현재 프레임(current frame)의 매크로 블록과의 블록매칭을 수행하는 과정과,상기 과정에서의 블록 매칭 결과와 상기 과정에서 구한 1픽셀 단위의 움직임 벡터와 비교하여 가장 좋은 결과를 선택하는 1/4 픽셀 단위의 움직임 벡터 검출과정으로 이루어짐을 특징으로 하는 1/4 픽셀 움직임 벡터를 이용한 동영상 압축방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970078345A KR100602148B1 (ko) | 1997-12-30 | 1997-12-30 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970078345A KR100602148B1 (ko) | 1997-12-30 | 1997-12-30 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060048331A Division KR100617598B1 (ko) | 2006-05-29 | 2006-05-29 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990058255A true KR19990058255A (ko) | 1999-07-15 |
KR100602148B1 KR100602148B1 (ko) | 2006-11-30 |
Family
ID=37712501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970078345A KR100602148B1 (ko) | 1997-12-30 | 1997-12-30 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100602148B1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100605105B1 (ko) * | 2004-05-28 | 2006-07-26 | 삼성전자주식회사 | 영상 보간 장치 |
KR100757830B1 (ko) * | 2006-07-05 | 2007-09-11 | 엘지전자 주식회사 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
KR100757831B1 (ko) * | 2006-07-05 | 2007-09-11 | 엘지전자 주식회사 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
KR100757829B1 (ko) * | 2006-06-28 | 2007-09-11 | 엘지전자 주식회사 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
KR100757832B1 (ko) * | 2006-09-14 | 2007-09-11 | 엘지전자 주식회사 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2222499A (en) * | 1988-09-05 | 1990-03-07 | Philips Electronic Associated | Picture motion measurement |
US4937666A (en) * | 1989-12-04 | 1990-06-26 | Bell Communications Research, Inc. | Circuit implementation of block matching algorithm with fractional precision |
KR100269129B1 (ko) * | 1997-11-21 | 2000-10-16 | 윤종용 | 부화소단위의움직임추정방법및이를위한장치 |
-
1997
- 1997-12-30 KR KR1019970078345A patent/KR100602148B1/ko not_active IP Right Cessation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100605105B1 (ko) * | 2004-05-28 | 2006-07-26 | 삼성전자주식회사 | 영상 보간 장치 |
US7929612B2 (en) | 2004-05-28 | 2011-04-19 | Samsung Electronics Co., Ltd. | Image interpolation apparatus and methods that apply quarter pel interpolation to selected half pel interpolation results |
KR100757829B1 (ko) * | 2006-06-28 | 2007-09-11 | 엘지전자 주식회사 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
KR100757830B1 (ko) * | 2006-07-05 | 2007-09-11 | 엘지전자 주식회사 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
KR100757831B1 (ko) * | 2006-07-05 | 2007-09-11 | 엘지전자 주식회사 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
KR100757832B1 (ko) * | 2006-09-14 | 2007-09-11 | 엘지전자 주식회사 | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 |
Also Published As
Publication number | Publication date |
---|---|
KR100602148B1 (ko) | 2006-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100955152B1 (ko) | 비디오 인코딩을 위한 다차원 인접 블록 예측 | |
KR100739281B1 (ko) | 움직임 추정 방법 및 장치 | |
US9154789B2 (en) | Motion vector predictive encoding and decoding method using prediction of motion vector of target block based on representative motion vector | |
US20070268964A1 (en) | Unit co-location-based motion estimation | |
US20140036995A1 (en) | Method and Apparatus for Selecting a Coding Mode | |
US7088772B2 (en) | Method and apparatus for updating motion vector memories | |
US20060120455A1 (en) | Apparatus for motion estimation of video data | |
JPH0870460A (ja) | 動き大小に適応する動き補償符号化方法及びその装置 | |
JPH0795594A (ja) | 半画素精度の動きベクトル検出方法および装置 | |
JPH10336672A (ja) | 符号化方式変換装置およびその動きベクトル検出方法 | |
KR100602148B1 (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
KR100617598B1 (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
JP2009284058A (ja) | 動画像符号化装置 | |
KR100757830B1 (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
KR100757831B1 (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
KR100757832B1 (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
KR100757829B1 (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
KR20070063479A (ko) | 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 | |
US20130170565A1 (en) | Motion Estimation Complexity Reduction | |
KR100240620B1 (ko) | 양방향의 반화소 움직임 추정을 위한 대칭 탐색 윈도우를 형성하는 방법 및 장치 | |
KR100203638B1 (ko) | 반화소 단위 움직임 추정방법 | |
KR100207397B1 (ko) | 영상 부호화 시스템의 움직임 예측장치 및 방법 | |
KR0174441B1 (ko) | 적응적 움직임 보상을 이용한 동영상 부호화 장치 | |
KR100293445B1 (ko) | 움직임벡터코딩방법 | |
KR100617177B1 (ko) | 움직임 추정 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |