KR100316411B1 - 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치 - Google Patents

제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치 Download PDF

Info

Publication number
KR100316411B1
KR100316411B1 KR1019990011147A KR19990011147A KR100316411B1 KR 100316411 B1 KR100316411 B1 KR 100316411B1 KR 1019990011147 A KR1019990011147 A KR 1019990011147A KR 19990011147 A KR19990011147 A KR 19990011147A KR 100316411 B1 KR100316411 B1 KR 100316411B1
Authority
KR
South Korea
Prior art keywords
vector
component
motion vector
codebook
control point
Prior art date
Application number
KR1019990011147A
Other languages
English (en)
Other versions
KR20000061803A (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 KR1019990011147A priority Critical patent/KR100316411B1/ko
Publication of KR20000061803A publication Critical patent/KR20000061803A/ko
Application granted granted Critical
Publication of KR100316411B1 publication Critical patent/KR100316411B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 영상신호의 압축 부호화기에서 제어그리드보간(Control grid interpolation ) 방식에 의한 움직임 추정시에 판별형 벡터양자화(classified VQ) 기술을 이용하여 제어점(Control point )의 움직임 벡터(Motion Vector)를 산출하는 장치에 관한 것이다.
이러한 본 발명은 프레임 메모리(10), BMA처리부(20), 움직임 벡터 메모리(30), 입력벡터 형성부(40), x성분 벡터양자화 부분(a), y성분 벡터영자화 부분(b), 출력벡터 형성부(80)로 구성되어 있다. 그리고 x성분 벡터양자화 부분(a)은 x성분 분류기(50a), 제1 내지 제4 코드북(60a-1~60a-4), 벡터양자화 부호기(70a)로 구성되어 16개의 움직임 벡터의 x성분을 입력벡터로 하여 제어점의 x성분 움직임 벡터를 산출하고, y성분 벡터양자화 부분(b)은 y성분 분류기(50b), 제1 내지 제4 코드북(60b-1~60b-4), 벡터양자화 부호기(70b)로 구성어 16개의 움직임 벡터의 y성분을 입력벡터로 하여 제어점의 y성분 움직임 벡터를 산출한다.

Description

제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치 { Apparatus for acquiring motion vectors of control points by classified vector quantization in control grid interpolation coder }
본 발명은 영상신호의 압축 부호화 기술에서 시간적 중복성을 제거하기 위한 움직임 추정기술에 관한 것으로 특히, 제어그리드보간(Control grid interpolation ) 방식에 의한 움직임 추정시에 판별형 벡터양자화(classified VQ) 기술을 이용하여 제어점(Control point )의 움직임 벡터(Motion Vector)를 산출하는 장치에 관한 것이다.
일반적으로, 영상신호 처리기술에서 '움직임 추정(motion estimation)'이란 연속되는 영상신호에서 현재 프레임(current frame)의 화소(pixel)들이 이전 프레임(previous frame)에 비해 어느 정도 움직였는지를 벡터로 표시한 움직임 벡터 (motion vector)를 추정하여, 전체 영상을 전송하는 대신에, 이들 움직임 벡터를 전송함으로써 전송정보를 줄이는 기술(즉, 영상압축)을 말하는 것이다.
이러한 움직임 추정에서 널리 사용되는 블럭 정합 알고리즘(BMA: BlockMatching Algorithm)은 도 1에 도시된 바와 같이, 화면의 움직임이 수평 또는 수직으로 평행 이동한 것으로 가정하여, 움직임이 일어난 프레임(즉, 현재 프레임)의 블럭영상이 움직임이 일어나기 전 프레임(즉, 이전 프레임)의 어느 위치에 있는 블럭영상과 가장 일치하는가를 추정하여 그 위치를 움직임 벡터로서 추정하는 방법이다. 이때, 블럭의 크기로는 8 x 8, 16 x 16( 가로 픽셀 수 x 세로 픽셀 수 )을 주로 사용한다. 여기서, 현재 프레임의 레퍼런스 블럭(reference block 혹은 current block)과 가장 유사한 이전 블럭을 찾기 위하여 이전 프레임(previous frame)에서 레퍼런스 블럭의 위치를 중심으로 일정 범위 안을 찾게 되는데, 이러한 범위를 '서치 윈도우(search window 혹은 area)'라 하고, 이러한 서치 윈도우안에서 각 후보블럭(candidate block)과의 차를 디스토션(distortion; 또는 절대에러(AE)라고도 한다)이라 하며, 두 블럭간의 유사정도를 나타낸다.
또한, 서치 윈도우안의 모든 후보블럭과 레퍼런스 블럭을 비교하는 것을 '풀 서치 블럭매칭(full search block matching algorithm)'이라 하며, 수식적으로 가장 일치하는 블럭을 찾기 위하여 연속된 두 프레임의 영상중에서, 이전 프레임을 f1(x,y), 현재 프레임을 f2(x,y)라 했을 때, f2(x,y)와 f1(x-a, y-b)에서 a,b를 변화시켜 가면서 f1(x-a,y-b)와 f2(x,y)의 차를 구하여, 그 차가 최소가 되는 (a,b)를 움직임 벡터로 예측한다. 이와 같이 블럭간의 최소오차를 구하는 방법을 평균절대오차(MAE:Mean Absolute Error) 방법이라 한다.
그런데 이러한 블럭매칭알고리즘(BMA)은 널리 알려진 바와 같이, 블럭단위로획일적으로 움직임 벡터를 구하기 때문에 구획효과(Blocking effect)가 발생되어 화질이 열화되는 문제점이 있다.
한편, 움직임 추정을 블럭이 아닌 화소(pixel) 단위로 할 경우에 구획효과( Blocking effect)는 방지되나 각 화소의 움직임 벡터를 산출하기 위하여 계산량이 막대하게 증가하기 때문에 실제 사용되기 어려운 문제점이 있다.
따라서 이와 같은 블럭단위의 움직임 추정과 화소단위의 움직임 추정이 갖는 장점들을 결합하여, 계산량을 줄이면서도 화소별로 각각의 움직임 벡터를 구할 수 있는 제어 그리드 보간(Control Grid Interpolation) 기술이 제안되어 널리 연구되고 있다. 즉, 제어 그리드 보간( CGI: Control Grid Interpolation)기법은 기존의 블럭 정합 알고리즘(BMA:Block Matching Algorithm)기법과 비교하여 구조는 복잡하나 다양한 모델의 움직임을 표현할 수 있고, 구획효과를 방지할 수 있다는 장점이 있다.
이러한 제어 그리드 보간법은 도 2a에 도시된 바와 같이, 한 프레임의 영상을 소정 단위의 영역으로 구분하여 제어점(CP11~CP67)을 설정하고, 제어점들의 움직임 벡터를 구하는 것이다. 그리고 제어점들의 움직임 벡터가 구해지면 도 2b에 도시된 바와 같이 제어점 사이의 픽셀들의 움직임 벡터를 보간에 의해서 산출한다. 도 2a,b에서 CP11~CP67은 제어점을 나타낸다.
이와 같이 제어그리드보간법은 각 픽셀들의 움직임 벡터를 일일이 구하는 것이 아니라 제어점들의 움직임 벡터만을 구한 후, 보간에 의해 제어점 사이의 픽셀들의 움직임 벡터를 구하므로써 BMA보다는 실제적인 움직임 벡터를 구할 수 있다.이때 제어점은 NxN 블럭들의 경계점으로 정의할 수 있으며, 인접한 제어점의 움직임 벡터 값에 영향을 받는다. 따라서 제어점의 움직임 벡터를 구하기 위해서는 각 제어점에 초기값을 부여한 후, 프레임의 시작부분부터 끝부분까지 순차적으로 최적화 과정을 진행한다. 이때 최적화된 제어점의 움직임 벡터값도 다음 제어점의 움직임 벡터값이 최적화되면서 변함에 따라 다시 최적화될 필요가 있기 때문에, 제어점들에 대한 최적화가 진행되면서 이전 제어점들의 움직임 벡터값도 연쇄적으로 변하게 된다. 즉, 종래에는 제어점의 움직임 벡터를 최적화하는 과정에서 인접하는 제어점의 값이 변함에 따라 한 프레임의 전체 제어점에 대한 최적화가 완료될 때까지 순환반복적인 검색이 필요하게 되어 계산량이 증가하게 되는 문제점이 있다.
이와 같이, 제어그리드 보간법을 사용하기 위해서는 각 제어점에서의 최적 움직임 벡터를 계산하기 위해서 많은 계산을 필요로하기 때문에 이용에 문제점이 있다. 이러한 문제점을 보완하기 위하여 기존의 BMA에 사용되었던 기법을 비롯하여 순환반복 검색의 회수를 효과적으로 줄일 수 있는 기법 등이 제안되었으나 기존의 기법 모두 순환반복 검색의 틀안에서 움직임 벡터를 추출하기 위한 시도로서 계산량절감에 한계가 있다. 따라서 실제 응용에서 제어 그리드 보간(CGI) 기술을 사용하기 위해서는 순환반복 검색이 불필요한 새로운 움직임 벡터 추출기법이 요구된다.
이에 본 발명은 상기와 같은 문제점을 해소하기 위하여 안출된 것으로, 제어그리드 보간 기법에 따른 제어점(control points)들의 움직임 벡터들을 판별형 벡터 양자화 ( classified VQ: vector quantization) 기술을 이용하여 구하는 장치를 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 장치는, 입력영상을 프레임 단위로 저장하기 위한 프레임 메모리; 상기 프레임 메모리로부터 소정 크기의 블럭단위로 영상 데이터를 입력받아 블럭정합알고리즘(BMA)에 따라 움직임 벡터를 구하는 블럭정합알고리즘 처리부; 상기 블럭정합알고리즘 처리부에서 산출된 움직임 벡터를 저장하기 위한 움직임 벡터 메모리; 상기 움직임 벡터 메모리로부터 제어점에 인접한 소정 수의 움직임 벡터를 읽어와 x성분과 y성분으로 구분하여 x성분 입력벡터와 y성분 입력벡터를 각각 형성하는 입력벡터 형성부; 소정의 분류기준에 따라 입력벡터 공간에 대응하는 전체 코드공간을 다수의 부분공간으로 구분한 후, 상기 입력벡터 형성부로부터 x성분 입력벡터가 제공되면 이를 동일한 분류기준에 따라 판별하여 코드북을 선택한 후, 해당 코드북내에서 검색하여 벡터 양자화하는 x성분 벡터양자화수단; 소정의 분류기준에 따라 입력벡터 공간에 대응하는 전체 코드공간을 다수의 부분공간으로 구분한 후, 상기 입력벡터 형성부로부터 y성분 입력벡터가 제공되면 이를 동일한 분류기준에 따라 판별하여 코드북을 선택한 후 해당 코드북내에서 검색하여 벡터 양자화하는 y성분 벡터양자화수단을 포함한다.
도 1은 블럭정합알고리즘(BMA)을 설명하기 위하여 도시한 개념도,
도 2a,b는 제어그리드보간(CGI) 방식에 따른 움직임 추정 기술을 설명하기 위하여 도시한 개념도,
도 3은 본 발명에 따라 제어점을 중심으로 형성된 블록들의 예를 도시한 도면,
도 4는 본 발명에 따라 제어점의 움직임 벡터를 구하는 장치의 구성을 도시한 블럭도,
도 5는 도 4에 도시된 x성분 분류기 혹은 y성분 분류기의 제1 실시예의 세부구성도,
도 6은 도 4에 도시된 x성분 분류기 혹은 y성분 분류기의 제2 실시예의 세부 구성도이다.
* 도면의 주요부분에 대한 부호의 설명
10: 프레임 메모리20: BMA처리부
30: 움직임 벡터 메모리40: 입력벡터 형성부
50a,50b: 분류기60a-1~60a-4,6-b-1~60b-4: 코드북
70a,70b: 벡터양자화기80: 출력벡터 형성부
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 자세히 설명하기로 한다.
먼저, 본 발명의 이해를 위하여 벡터 양자화 기술에 대해 간단히 설명한다.벡터양자화(VQ)는 K 공간의 벡터를 유한개의 코드북(codebook)에 매핑(mapping)시키는 방식으로서, 특히 복호기(Decoder)의 구조가 간단하다. 이러한 VQ는 벡터의 차원이 커질수록 그 성능이 향상되나, 실제 부호화 과정상에서 계산량이 차원의 증가에 따라 급격히 증가하고, 코드북의 설계가 어려워지기 때문에 벡터의 차원은 적정 수준으로 제한된다.
앞서 설명한 바와 같이, VQ는 K공간의 벡터를 유한개의 코드북으로 매핑시키는 것이므로, 다음 수학식<1>과 같이 표현된다.
상기 수학식<1>에서 k= 1....N 이고, min-1은 왜곡치를 최소화하는 코드북(codebook)상의 Xk를 나타내며, d는 왜곡계수(distortion measure)를 나타낸다.
VQ 부호기는 상기 수학식<1>과 같이 입력벡터 X에 대해 코드북으로부터 왜곡치가 최소인 부호벡터 Xk를 찾아(search) 입력벡터 X나 부호벡터 Xk대신에 부호벡터 Xk를 표시하는 지표(INDEX)를 송신하여 고도의 압축을 이룩하게 되고, 수신측의 VQ 복호기에서는 수신된 지표(INDEX)로부터 룩업테이블을 사용하여 송신측과 동일한 코드북으로부터 해당 부호벡터 Xk를 찾아 원래의 정보를 복원하게 된다. 이때, VQ 부호기는 입력벡터 X로부터 왜곡치가 최소인 부호벡터 Xk를 찾기 위한 과정이 복잡하나 VQ 복호기는 지표(INDEX)로부터 해당 부호를 꺼내기만 하므로 간단하게 구현될 수 있다.
한편, 상기 수학식<1>로 주어지는 VQ의 코드북(codebook)을 만드는 일반적인 방법으로는 LBG(Linde, Buzo 및 Gray: 인명임)알고리즘이 널리 사용되는데, LBG알고리즘의 개요는 부호벡터는 입력벡터에 가장 가까운(distortion 측면에서) 부호벡터이어야 한다는 조건(nearest neighbor condition)과 같은 부호벡터로 부호화되는 벡터들의 중심점(distortion 측면에서)이 부호벡터이어야 한다는 조건(centroid condition)의 두가지 제한 조건에 따라 반복적으로 코드북을 만들어 나가는 것이다. 이와 같이 코드북이 완성된 후, VQ 부호기는 입력벡터와 코드북의 부호벡터를 비교하여 왜곡치를 최소로 하는 부호벡터를 찾아 지표(INDEX)를 구한다.
도 3은 본 발명에 따른 제어점의 움직임 벡터 추정 개념을 도시한 개념도이다. 본 발명의 실시예에서 제어점의 움직임 벡터는 도 3에 도시된 바와 같이, 제어점(cp)에 인접하는 4 x 4 블럭들의 움직임 벡터들에 의해 정해지는데, 각 블럭의 움직임 벡터를 MV1 ~ MV16이라 한다. 이때, 각 블럭의 움직임 벡터는 통상의 블럭매칭알고리즘(BMA)에 의해 미리 구해진 것이고, 제어점(cp)의 움직임 벡터는 인접하는 블럭들의 움직임 벡터를 벡터 양자화 기술을 이용하여 구한다. 즉, 제어점(cp)의 움직임 벡터는 인접하는 블럭들에 의해 영향을 받게 되므로 제어점(cp)을 중심으로 적정한 크기의 인접한 블럭군을 형성(이를 '블럭영역'이라 한다)한 후, 인접블럭들의 움직임 벡터를 입력벡터로 하는 벡터 양자화 기술에 의해 구한다. 예컨대, 제어점(cp)을 중심으로 2 x 2 혹은 4 x 4등의 인접블럭군(블럭영역)을 형성할 경우에 4개 혹은 16개의 움직임 벡터로부터 제어점(cp)의 움직임 벡터를 구할 수 있다.
그런데 본 발명의 실시예에서와 같이 16(4x4)개의 움직임 벡터로부터 통상의 벡터 양자화 기술을 적용하여 제어점의 움직임 벡터를 구할 경우에는 움직임 벡터의 수평(x축), 수직(y축) 성분을 고려할 경우에 32차원의 입력벡터가 형성되므로 코드북의 크기가 커지고 계산량이 기하급수적으로 증가하게 된다.
따라서 본 발명에서는 입력벡터에 대한 검색시간을 단축하기 위하여 전체 공간을 소정 기준에 따라 몇개의 부분공간으로 나눈 뒤에 부분공간에 대해서만 검색하는 판별형 벡터 양자화(classified VQ) 기술을 적용한다. 즉, 본 발명의 실시예에서는 전체 공간을 소정 기준에 따라 4개의 부분공간으로 분류하여 각각 대응하는 코드북을 미리 형성해 놓은 후, 4 x 4 블럭의 움직임 벡터를 x축 성분(이하 x성분이라 함)의 16차원 입력 벡터와 y축 성분(이하 y성분이라 함)의 16차원 입력벡터로 구분하여 각각의 입력벡터에 대해서 해당 코드북만을 검색하도록 하여 검색에 필요한 처리시간을 단축할 수 있게 한다. 즉, 본 발명의 실시예에서는 32차원의 입력벡터를 바로 처리하지 않고, 16개의 입력벡터에 대해서 x축 성분과 y축 성분으로 구분하여 2개의 16차원 입력벡터를 형성한 후, 16차원 벡터 양자화 부호기를 이용하여 각각 벡터양자화를 수행한다. 이때 코드북을 구분하는 기준으로는 입력벡터를 유사한 특성으로 그룹화할 수 있는 다양한 기준이 이용될 수 있는데, 본 발명의 실시예에서는 차벡터를 이용하는 방법과 DCT를 이용하는 방법을 개시한다.
도 4는 본 발명에 따라 제어점의 움직임 벡터를 구하는 장치의 구성을 도시한 블럭도로서, 이 장치는 프레임 메모리(10), BMA처리부(20), 움직임 벡터 메모리(30), 입력벡터 형성부(40), x성분 벡터양자화 부분(a), y성분 벡터영자화 부분(b), 출력벡터 형성부(80)로 구성되어 있다. 그리고 x성분 벡터양자화 부분(a)은 x성분 분류기(50a), 제1 내지 제4 코드북(60a-1~60a-4), 벡터양자화기(70a)로 구성되어 16개의 움직임 벡터의 x성분을 입력벡터로 하여 제어점의 x성분 움직임 벡터를 산출하고, y성분 벡터양자화 부분(b)은 y성분 분류기(50b), 제1 내지 제4 코드북(60b-1~60b-4), 벡터양자화기(70b)로 구성어 16개의 움직임 벡터의 y성분을 입력벡터로 하여 제어점의 y성분 움직임 벡터를 산출한다.
도 4를 참조하면, 프레임 메모리(10)는 부호화를 위한 현재 프레임의 영상과 이전 프레임의 영상을 프레임 단위로 저장하고 있고, BMA처리부(20)는 프레임 메모리(10)로부터 레퍼런스블럭을 입력받아 이전 프레임의 후보블럭과 비교하여 그 블럭의 움직임 벡터를 산출한다. 이때 움직임 벡터(MV)는 x축 성분과 y축 성분으로 이루어진 쌍으로 표현된다.
움직임 벡터(MV) 메모리(30)는 블럭정합알고리즘 (BMA) 처리부(20)의 움직임 벡터(MV)를 순서대로 저장하고 있다. 이때 움직임 벡터 메모리(30)는 적어도 도 3에 도시된 바와 같은 4 x 4 움직임 벡터들(즉, 블럭영역의 움직임 벡터들)을 저장하고 있어야 한다.
입력벡터 형성부(40)는 움직임 벡터 메모리(30)로부터 현재 제어점에 인접한 16개의 움직임 벡터를 읽어와 x축 성분과 y축 성분으로 분리한 후 16차의 x성분 입력벡터와 y성분 입력벡터를 형성하여 x성분 벡터양자화 부분(a)과 y성분 벡터양자화 부분(b)으로 각각 제공한다.
x성분 분류기(50a)는 입력벡터 형성부(40)로부터 16차원의 x성분 입력벡터를 입력받아 입력벡터를 소정의 기준에 따라 판별하여 4개의 코드북 중 하나를 선택하기 위한 선택신호를 발생한다. 즉, 본 발명의 실시예에서 16차원의 x성분 입력벡터에 대한 전체 코드값들은 차벡터나 DCT등과 같은 기준에 따라 4개의 부분공간으로 구분되어 해당 코드북에 각각 분류되어 미리 저장되어 있다. 따라서 부호화를 위하여 x성분 분류기(50a)로 입력벡터가 전달되면, x성분 분류기(50a)는 현재 입력된 입력벡터를 소정 기준에 따라 분류하여 해당되는 코드북을 선택하기 위한 선택신호를 발생한다.
y성분 분류기(50b)는 x성분 분류기(50a)와 동일하게 구성되어 16차원의 y성분 입력벡터를 판별하여 해당 코드북을 선택하기 위한 선택신호를 발생한다. 이러한 x성분 분류기(50a)와 y성분 분류기(50b)의 구체적인 구성은 후술하는 바와 같다.
제1 내지 제4 x성분 코드북(60a-1~60a-4)은 앞서 설명한 바와 같이 16차원의 x 성분 입력벡터에 대한 전체 코드값을 소정의 기준에 따라 분류하여 각각 저장하고 있고, 제2 내지 제4 y성분 코드북(60b-1~60b-4)은 16차원의 y성분 입력벡터에 대한 전체 코드값을 소정의 기준에 따라 분류하여 각각 저장하고 있다.
이와 같이 전체 코드공간을 4개의 부분 코드공간으로 분류하는 기준은 각 분류기가 입력벡터를 판별하는 기준과 동일해야 한다. 예컨대, 코드북의 분류기준을 차벡터로 한 경우에 분류기는 차벡터에 따라 입력벡터를 구분하여야 하고, 코드북의 분류기준을 DCT로 한 경우에 분류기는 DCT에 따라 입력벡터를 구분하여야 한다. 그리고 각 코드북의 코드공간의 합은 전체 코드공간과 일치한다.
x성분 벡터양자화기(70a)는 입력벡터 형성부(40)로부터 16차원의 x성분 입력벡터를 입력받아 분류기(50a)에 의해 선택된 코드북을 검색하여 제어점의 x성분 움직임 벡터를 산출하고, y성분 벡터양자화기(70b)는 입력벡터 형성부(40)로부터 16차원의 y성분 입력벡터를 입력받아 분류기(50b)에 의해 선택된 코드북을 검색하여 제어점의 y성분 움직임 벡터를 산출한다. 이때 각 벡터양자화기로 입력되는 입력벡터와 해당 분류기로 입력되는 입력벡터는 동일한 것이다.
출력벡터 형성부(80)는 x성분 벡터양자화기(70a)와 y성분 벡터양자화기(70b)가 출력하는 동일한 제어점의 x성분 움직임 벡터와 y성분 움직임 벡터를 결합하여 동일한 타이밍에 출력한다.
도 5는 도 4에 도시된 x성분 분류기 혹은 y성분 분류기의 제1 실시예의 세부 구성도로서, 차벡터를 이용하여 입력벡터를 분류하는 경우이다. 도 5를 참조하면, 차벡터를 이용하는 분류기는 소정의 기준값을 저장하고 있는 기준값 저장부(51)와, x성분 움직임 벡터 혹은 y성분 움직임 벡터를 상기 기준값과 감산하여 차벡터를 출력하는 감산기(52), 감산기(52)가 출력하는 차벡터를 저장하는 차벡터 저장부(53), 및 차벡터 저장부(53)의 차벡터의 평균값에 따라 해당 코드북을 선택하기 위한 선택신호를 발생하는 코드북 선택신호 발생부(54)로 구성된다. 본 발명의 실시예에서 도3과 같이 제어점을 중심으로 16차원의 움직임 벡터를 형성할 경우에, 상기 기준값으로는 제1 움직임 벡터(MV1)를 이용한다.
이와 같이 제1 움직임 벡터를 기준벡터로서 이용할 경우에 본 발명의 실시예에서 차벡터는 다음 표1과 같이 구해진다.
0 MV2-MV1 MV3-MV1 MV4-MV1
MV5-MV1 MV6-MV1 MV7-MV1 MV8-MV1
MV9-MV1 MV10-MV1 MV11-MV1 MV12-MV1
MV13-MV1 MV14-MV1 MV15-MV1 MV16-MV1
따라서 차벡터를 적용하는 x성분 분류기(50a)는 x성분 입력벡터의 차벡터를 형성한 후 차벡터의 평균값(혹은 분포값)에 따라 4개의 코드북중에서 하나의 코드북을 선택하고, y성분 분류기(50b)는 y성분 입력벡터의 차벡터를 형성한 후 차벡터의 평균값(혹은 분포값)에 따라 4개의 코드북중에서 하나의 코드북을 선택한다. 그리고 분류기의 기준으로 차벡터의 평균값(혹은 분포값)을 적용하기 위해서는 먼저 코드북이 차벡터의 평균값(혹은 분포값)에 따라 분류되어 있어야 한다.
도 6은 도 4에 도시된 x성분 분류기 혹은 y성분 분류기의 제2 실시예의 세부 구성도로서, DCT를 이용하여 입력벡터를 분류하는 경우이다. 도 6을 참조하면, DCT를 이용하는 분류기는 4x4 x성분 입력 벡터 혹은 4x4 y성분 입력벡터를 이산여현변환하는 이산여현변환부(55)와, 이산여현변환에 의해 구해진 DCT계수를 저장하고 있는 DCT계수 저장부(56), 및 DCT계수들의 분포상태(저주파성분과 고주파성분의 비율, 0의 갯수 등) 혹은 평균값에 따라 코드북을 선택하기 위한 선택신호를 생성하는 코드북 선택신호 생성부(57)로 구성된다. 이와 같이 분류기준으로서 DCT를 이용할 경우에는 앞서 설명한 바와 같이, 동일한 기준으로 코드북을 먼저 분류할 필요가 있다.
이와 같이 본 발명의 실시예에서는 제어점을 중심으로 16개의 움직임 벡터로 입력벡터 공간을 선정한 후, 이들에 대한 전체 코드공간을 차벡터나 DCT와 같은 기준에 따라 4개의 부분공간으로 분류하여 4개의 코드북에 구분 저장하고, 벡터양자화시에 각각의 입력벡터에 대해 동일한 기준으로 판별하여 해당 코드북을 지정한 후 그 코드북 안에서만 검색하도록 하므로써 전체 코드북을 검색할 경우보다 약 4배정도 처리속도를 향상시킬 수 있다. 더욱이, 16개의 움직임 벡터를 x축 성분과 y축 성분으로 구분하여 16차원의 입력벡터를 각각 형성한 후, 따로 처리하므로써 32차원이 아닌 16차원 벡터 양자화를 수행할 수 있다.
그리고 본 발명 기술적 사상은 이상에서 설명한 실시예에 한정되지 않고, 다양한 변형예와 다른 실시예들에 적용될 수 있다.
이상에서 살펴본 바와 같이, 본 발명은 영상부호화 기술에서 제어그리드보간(CGI) 방식을 이용하여 움직임 추정을 할 경우에, 종래와 같이 순환반복적인 검색을 필요로 하지 않고 판별형 벡터양자화 기술을 이용하여 간단하게 제어점의 움직임 벡터를 구할 수 있는 효과가 있다. 특히, 판별형 벡터 양자화 기술을 적용함으로써 전체 코드공간이 아닌 일부분의 공간에 대해서만 검색하면 되므로 검색속도를 향상시킬 수 있다.

Claims (8)

  1. 입력영상을 프레임 단위로 저장하기 위한 프레임 메모리(10);
    상기 프레임 메모리로부터 소정 크기의 블럭단위로 영상 데이터를 입력받아 블럭정합알고리즘(BMA)에 따라 움직임 벡터를 구하는 블럭정합알고리즘 처리부(20);
    상기 블럭정합알고리즘 처리부에서 산출된 움직임 벡터를 저장하기 위한 움직임 벡터 메모리(30);
    상기 움직임 벡터 메모리로부터 제어점에 인접한 소정 수의 움직임 벡터를 읽어와 x성분과 y성분으로 구분하여 x성분 입력벡터와 y성분 입력벡터를 각각 형성하는 입력벡터 형성부(40);
    소정의 분류기준에 따라 입력벡터 공간에 대응하는 전체 코드공간을 다수의 부분공간으로 구분한 후, 상기 입력벡터 형성부로부터 x성분 입력벡터가 제공되면 이를 동일한 분류기준에 따라 판별하여 코드북을 선택한 후, 해당 코드북내에서 검색하여 벡터 양자화하는 x성분 벡터양자화수단;
    소정의 분류기준에 따라 입력벡터 공간에 대응하는 전체 코드공간을 다수의 부분공간으로 구분한 후, 상기 입력벡터 형성부로부터 y성분 입력벡터가 제공되면 이를 동일한 분류기준에 따라 판별하여 코드북을 선택한 후 해당 코드북내에서 검색하여 벡터 양자화하는 y성분 벡터양자화수단을 포함하는 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치.
  2. 제1항에 있어서, 상기 x성분 벡터양자화수단은
    소정의 분류기준에 따라 x성분 입력벡터 공간에 대응하는 전체 코드공간을 n개의 부분공간으로 구분하여 코드값을 각각 저장하고 있는 n개의 코드북과; 상기 x성분 입력벡터를 소정의 분류기준에 따라 판별하여 상기 코드북중 하나의 코드북을 선택하기 위한 선택신호를 발생하는 x성분 분류기(50a); 상기 x성분 입력벡터를 입력받아 상기 x성분 분류기에 의해 선택된 코드북 내에서 검색하여 제어점의 x성분 움직임벡터를 산출하는 x성분 벡터양자화기(70a)를 구비한 것을 특징으로 하는 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치.
  3. 제2항에 있어서, 상기 x성분 분류기가
    소정의 기준값을 저장하고 있는 기준값 저장부(51)와, x성분 움직임 벡터를 상기 기준값과 감산하여 차벡터를 출력하는 감산기(52)와, 상기 감산기가 출력하는 차벡터를 저장하는 차벡터 저장부(53)와, 상기 차벡터 저장부의 차벡터에 따라 해당 코드북을 선택하기 위한 선택신호를 발생하는 코드북 선택신호 발생부(54)를 구비하는 것을 특징으로 하는 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치.
  4. 제2항 있어서, 상기 x성분 분류기가
    4x4 x성분 입력 벡터를 이산여현변환하는 이산여현변환부(55)와, 상기 이산여현변환에 의해 구해진 DCT계수를 저장하고 있는 DCT계수 저장부(56)와, 상기 DCT계수들에 따라 코드북을 선택하기 위한 선택신호를 생성하는 코드북 선택신호 생성부(57)를 구비한 것을 특징으로 하는 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치.
  5. 제1항 있어서, 상기 y성분 벡터양자화수단은
    소정의 분류기준에 따라 y성분 입력벡터 공간에 대응하는 전체 코드공간을 n개의 부분공간으로 구분하여 코드값을 각각 저장하고 있는 n개의 코드북과; 상기 y성분 입력벡터를 소정의 분류기준에 따라 판별하여 상기 코드북중 하나의 코드북을 선택하기 위한 선택신호를 발생하는 y성분 분류기(50b); 상기 y성분 입력벡터를 입력받아 상기 y성분 분류기에 의해 선택된 코드북 내에서 검색하여 제어점의 y성분 움직임벡터를 산출하는 y성분 벡터양자화기(70b)를 구비한 것을 특징으로 하는 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치.
  6. 제5항 있어서, 상기 y성분 분류기가
    소정의 기준값을 저장하고 있는 기준값 저장부(51)와, y성분 움직임 벡터를 상기 기준값과 감산하여 차벡터를 출력하는 감산기(52)와, 상기 감산기가 출력하는차벡터를 저장하는 차벡터 저장부(53)와, 상기 차벡터 저장부의 차벡터의 평균값에 따라 해당 코드북을 선택하기 위한 선택신호를 발생하는 코드북 선택신호 발생부(53)를 구비한 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치.
  7. 제5항 있어서, 상기 y성분 분류기가
    4x4 y성분 입력벡터를 이산여현변환하는 이산여현변환부(55)와, 상기 이산여현변환에 의해 구해진 DCT계수를 저장하고 있는 DCT계수 저장부(56)와, 상기 DCT계수들에 따라 코드북을 선택하기 위한 선택신호를 생성하는 코드북 선택신호 생성부(57)를 구비한 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치.
  8. 제1항에 있어서, 상기 제어점의 움직임 벡터 산출장치는
    상기 x성분 벡터양자화기(70a)와 y성분 벡터양자화기(70b)가 출력하는 동일한 제어점의 x성분 움직임 벡터와 y성분 움직임 벡터를 결합하여 동일한 타이밍에 출력하는 출력벡터 형성부(80)를 더 구비하는 것을 특징으로 하는 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치.
KR1019990011147A 1999-03-31 1999-03-31 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치 KR100316411B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990011147A KR100316411B1 (ko) 1999-03-31 1999-03-31 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990011147A KR100316411B1 (ko) 1999-03-31 1999-03-31 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치

Publications (2)

Publication Number Publication Date
KR20000061803A KR20000061803A (ko) 2000-10-25
KR100316411B1 true KR100316411B1 (ko) 2001-12-20

Family

ID=19578303

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990011147A KR100316411B1 (ko) 1999-03-31 1999-03-31 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치

Country Status (1)

Country Link
KR (1) KR100316411B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3468195A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Improved predictor candidates for motion compensation

Also Published As

Publication number Publication date
KR20000061803A (ko) 2000-10-25

Similar Documents

Publication Publication Date Title
JP3013698B2 (ja) ベクトル量子化符号化装置と復号化装置
US5592228A (en) Video encoder using global motion estimation and polygonal patch motion estimation
US5583580A (en) Method and apparatus for detecting motion vectors based on hierarchical motion estimation
KR100803611B1 (ko) 영상의 부호화, 복호화 방법 및 장치
US5587741A (en) Apparatus and method for detecting motion vectors to half-pixel accuracy
JP4004653B2 (ja) 動きベクトル検出方法および装置、記録媒体
KR970011859B1 (ko) 퍼지제어를 이용한 부호화 방법 및 그 장치
KR970002967B1 (ko) 영역 분류패턴을 이용한 움직임벡터 검출장치
WO2000033580A1 (en) Improved motion estimation and block matching pattern
KR100207390B1 (ko) 계층적인 움직임 추정기법을 이용하는 음직임 벡터 검출방법
KR20070027119A (ko) 향상된 움직임 추정 방법, 상기 방법을 이용한 비디오인코딩 방법 및 장치
US5444488A (en) Method and apparatus for coding digital data using vector quantizing techniques
JPH0884337A (ja) データ処理装置及びその方法
Turaga et al. Search algorithms for block-matching in motion estimation
US20020131500A1 (en) Method for determining a motion vector for a video signal
US5689312A (en) Block matching motion estimation method
KR100316411B1 (ko) 제어 그리드 보간방식에 따른 영상부호기에서 판별형 벡터양자화를 이용한 제어점의 움직임 벡터 산출 장치
US7773673B2 (en) Method and apparatus for motion estimation using adaptive search pattern for video sequence compression
Tsai et al. A new dynamic finite-state vector quantization algorithm for image compression
Andrey et al. Research of block-based motion estimation methods for video compression
KR100296099B1 (ko) 제어 그리드 보간방식에 따른 영상부호기에서 벡터양자화를 이용한 제어점의 움직임 벡터 산출 방법 및 그장치
KR100296097B1 (ko) 제어 그리드 보간방식에 따른 영상부호화에서 제어점의 움직임벡터를 구하는 방법 및 그 장치
KR100296098B1 (ko) 제어 그리드 보간방식에 따른 영상부호기에서 분리 벡터양자화를이용한 제어점의 움직임 벡터 산출 방법 및그 장치
JPH0569354B2 (ko)
KR100302129B1 (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: 20111101

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20121101

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee