KR100617598B1 - 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 - Google Patents

1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 Download PDF

Info

Publication number
KR100617598B1
KR100617598B1 KR1020060048331A KR20060048331A KR100617598B1 KR 100617598 B1 KR100617598 B1 KR 100617598B1 KR 1020060048331 A KR1020060048331 A KR 1020060048331A KR 20060048331 A KR20060048331 A KR 20060048331A KR 100617598 B1 KR100617598 B1 KR 100617598B1
Authority
KR
South Korea
Prior art keywords
pixel
motion vector
motion
units
image
Prior art date
Application number
KR1020060048331A
Other languages
English (en)
Other versions
KR20060069811A (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 KR1020060048331A priority Critical patent/KR100617598B1/ko
Publication of KR20060069811A publication Critical patent/KR20060069811A/ko
Application granted granted Critical
Publication of KR100617598B1 publication Critical patent/KR100617598B1/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/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/176Methods 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
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

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 픽셀 단위까지 계산하도록 하므로써, 영상 압축 효율이 높아지므로, 영상 복호가 완료된 후에는 보다 향상된 화질을 제공할 수 있도록 하는 것이다.
움직임 벡터, 1/4 픽셀

Description

1/4픽셀 움직임 벡터를 이용한 동영상 압축방법{Method for compressing moving picture using 1/4 pixel motion vector}
도 1은 일반적인 움직임 벡터를 이용한 동영상 압축 부호화장치의 구성 블록도
도 2는 일반적인 움직임 벡터를 이용한 동영상 복호화장치의 구성 블록도
도 3은 일반적인 움직임 예측과 움직임 벡터를 구하는 과정을 나타낸 도면
도 4는 종래 1/2 픽셀 움직임 벡터를 구하는 과정을 설명하기 위한 도면
도 5 및 도 6은 본 발명에 있어 1/4 픽셀 움직임 벡터를 계산하는 과정을 설명하기 위한 실시예를 나타낸 도면
도 7은 본 발명에 있어 1/4 픽셀 움직임 벡터에 의한 움직임 보상방법을 설명하기 위한 도면
본 발명은 동영상 압축 및 복원에 관한 것으로, 특히 움직임 벡터를 이용하여 움직임 예측을 통해 동영상을 압축하게 될때, 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 픽셀로 나타내기로 한다.
도 4에서 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/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 (8)

  1. 블록 단위로 압축된 영상의 복호화 방법에 있어서,
    영상의 현재 블록을 복원하기 위한 기준 블록을 구하는 단계;
    1/4 픽셀 단위의 움직임 벡터와 상기 기준 블록을 바탕으로 1/4 픽셀 단위의 움직임 보상 예측을 적용하여 상기 현재 블록을 복원하는 단계를 포함하며;
    상기 현재 블록 복원 단계는 상기 기준 블록 내에서 1/4 픽셀 단위로 움직임 보상될 픽셀 위치의 픽셀 값을 구하는 단계를 포함하고,
    상기 움직임 보상될 위치의 픽셀 값을 구하는 단계는, 상기 기준 블록 내의 1 픽셀 단위 픽셀 위치의 픽셀 값들에 대해 소정의 가중치를 적용하고 평균화하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법.
  2. 제 1항에 있어서,
    상기 1/4 픽셀 단위의 움직임 보상 예측을 수행하기 위하여, 압축된 영상 신호로부터 얻은 1/2 픽셀 단위의 움직임 벡터를 1/4 픽셀 단위의 움직임 벡터로 변환하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 영상 복호화 방법.
  3. 삭제
  4. 제 1항에 있어서,
    1 픽셀 단위 픽셀 위치의 픽셀 값들에 대한 상기 소정의 가중치의 크기(절대값)는 픽셀간 거리에 반비례하는 것을 특징으로 하는 영상 복호화 방법.
  5. 삭제
  6. 제 2항에 있어서,
    1 픽셀 단위 픽셀 위치의 픽셀 값들에 대한 상기 소정의 가중치의 크기(절대값)는 픽셀간 거리에 반비례하는 것을 특징으로 하는 영상 복호화 방법.
  7. 제 4항 또는 제 6 항 중 어느 한 항에 있어서,
    1 픽셀 단위 픽셀 위치의 픽셀 값들에 대한 상기 소정의 가중치의 크기(절대값)는 상기 1/4 픽셀 단위로 움직임 보상될 픽셀 위치로부터 거리에 반비례하는 것을 특징으로 하는 영상 복호화 방법.
  8. 삭제
KR1020060048331A 2006-05-29 2006-05-29 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법 KR100617598B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060048331A KR100617598B1 (ko) 2006-05-29 2006-05-29 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060048331A KR100617598B1 (ko) 2006-05-29 2006-05-29 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1019970078345A Division KR100602148B1 (ko) 1997-12-30 1997-12-30 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법

Related Child Applications (3)

Application Number Title Priority Date Filing Date
KR1020060058782A Division KR100757829B1 (ko) 2006-06-28 2006-06-28 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
KR1020060062993A Division KR100757830B1 (ko) 2006-07-05 2006-07-05 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
KR1020060062994A Division KR100757831B1 (ko) 2006-07-05 2006-07-05 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법

Publications (2)

Publication Number Publication Date
KR20060069811A KR20060069811A (ko) 2006-06-22
KR100617598B1 true KR100617598B1 (ko) 2006-09-01

Family

ID=37163712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060048331A KR100617598B1 (ko) 2006-05-29 2006-05-29 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법

Country Status (1)

Country Link
KR (1) KR100617598B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100757829B1 (ko) 2006-06-28 2007-09-11 엘지전자 주식회사 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101418104B1 (ko) 2010-03-08 2014-07-16 에스케이 텔레콤주식회사 움직임 벡터 해상도 조합을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100757829B1 (ko) 2006-06-28 2007-09-11 엘지전자 주식회사 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법

Also Published As

Publication number Publication date
KR20060069811A (ko) 2006-06-22

Similar Documents

Publication Publication Date Title
KR100955152B1 (ko) 비디오 인코딩을 위한 다차원 인접 블록 예측
KR100739281B1 (ko) 움직임 추정 방법 및 장치
JP4755095B2 (ja) 映像符号化の符号化側/復号化側に使用される双方向予測方法
KR100964515B1 (ko) 비디오 인코딩을 위한 비-정수 픽셀 공유
US20070268964A1 (en) Unit co-location-based motion estimation
US20140036995A1 (en) Method and Apparatus for Selecting a Coding Mode
KR100680452B1 (ko) 움직임 벡터 메모리의 갱신방법 및 장치
JP2003309851A (ja) 映像データ変換装置および映像データ変換方法
JP2004336369A (ja) 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
KR100694137B1 (ko) 동영상 부호화 장치, 동영상 복호화 장치, 및 그 방법과,이를 구현하기 위한 프로그램이 기록된 기록 매체
JP2004048552A (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
WO2006103844A1 (ja) 符号化装置と方法、ならびに復号装置と方法
JPH10336672A (ja) 符号化方式変換装置およびその動きベクトル検出方法
KR100602148B1 (ko) 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
KR100617598B1 (ko) 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
JP2009284058A (ja) 動画像符号化装置
KR100757829B1 (ko) 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
KR100757831B1 (ko) 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
KR100757832B1 (ko) 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
KR100757830B1 (ko) 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
KR100203281B1 (ko) 강제적 한방향 운동보상에 근거한 동화상 복호화장치
KR20070063479A (ko) 1/4픽셀 움직임 벡터를 이용한 동영상 압축방법
JP5442039B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US20130170565A1 (en) Motion Estimation Complexity Reduction
KR100203638B1 (ko) 반화소 단위 움직임 추정방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A107 Divisional application of patent
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120727

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130724

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140724

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150724

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160722

Year of fee payment: 11