KR100243467B1 - 움직임 추정기의 절대 에러값 가산 회로 - Google Patents

움직임 추정기의 절대 에러값 가산 회로 Download PDF

Info

Publication number
KR100243467B1
KR100243467B1 KR1019960055794A KR19960055794A KR100243467B1 KR 100243467 B1 KR100243467 B1 KR 100243467B1 KR 1019960055794 A KR1019960055794 A KR 1019960055794A KR 19960055794 A KR19960055794 A KR 19960055794A KR 100243467 B1 KR100243467 B1 KR 100243467B1
Authority
KR
South Korea
Prior art keywords
adder
output
adders
wallace
bits
Prior art date
Application number
KR1019960055794A
Other languages
English (en)
Other versions
KR19980037095A (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 KR1019960055794A priority Critical patent/KR100243467B1/ko
Publication of KR19980037095A publication Critical patent/KR19980037095A/ko
Application granted granted Critical
Publication of KR100243467B1 publication Critical patent/KR100243467B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 움직임 추정기(motion estimator)에서 절대에러(MAE: Mean Absolute Error)값을 구하기 위해 차이값(distortion)들을 고속으로 가산하는 방법 및 그 구조에 관한 것으로서, 그 방법은개의 차이값들을의 서맨드로 산출하는 제 1 단계(step 1)와; 상기개의 서맨드를 가산하여서맨드로 산출하는 제 2 단계(step 2);서맨드를 가산하여서맨드로 산출하는 제 3 단계(step 3); 및

Description

움직임 추정기의 절대 에러값 가산회로
본 발명은 움직임 추정기(motion estimator)에서 절대에러(MAE: Mean Absolute Error)값을 구하기 위해 차이값(distortion)들을 고속으로 가산하는 방법 및 가산기 구조에 관한 것이다.
일반적으로, 이차원 동화상은 많은 양의 정보를 갖고 있기 때문에 이의 전송을 위해서는 상당한 주파수 대역이 필요하게 된다. 이 문제를 해결하기 위해서는 정보의 중복성이 존재하기 때문에 정보의 압축이 가능해진다. 이때 시간축상의 중복성은 움직임 보상을 통하여 정보 압축할 수 있으며, 여기서 중요한 핵심이 바로 움직임 벡터 추정기 이다.
움직임 벡터 추출 알고리즘으로는 PRA(Pel Recursive Algorithm)과 블럭정합 알고리즘이 있다.
블럭 정합 알고리즘(BMA: Block Matching Algorithm)은 현재 프레임을 고정된 크기의 블럭(이하 기준 블럭이라함)으로 나누어 각각의 기준 블럭이 이전 프레임의 정해진 영역에서 블럭단위로 독립적으로 변위를 한다는 가정하에 이루어지는 것이다.
이때, 화면의 움직임이 수평 또는 수직으로 평행 이동한 것으로 가정하여 움직임이 일어난 프레임(즉, 현재 프레임)의 블록영상이 움직임이 일어나기전 프레임(즉, 이전 프레임)의 어느 위치에 있는 블록영상과 가장 일치하는가를 추정하여 그 위치를 통해 움직임 벡터(motion vector)를 추정하는 방법이다. 이때, 블록의 크기로는 8×8, 16×16( 가로 픽셀 수×세로 픽셀 수 )을 주로 사용한다.
여기서, 현재 프레임의 기준 블록(reference block)과 가장 유사한 이전 블록을 찾기 위하여 이전 프레임에서 기준 블록의 위치를 중심으로 일정 범위 안을 찾게 되는데, 이러한 범위를 '서치 윈도우(search window)'라 하고, 이러한 서치 윈도우안에서 각 후보 블록(candidate block)과의 차를 디스토션(distortion)이라 하며, 두 블록간의 유사정도를 나타내는 것이다.
결국, 영상신호 처리기술에서 '움직임 추정(motion estimation)'이란 연속되는 영상신호에서 현재 프레임(current frame)의 화소(pixel)들이 이전 프레임(previous frame)에 비해 어느 정도 움직였는지를 벡터로 표시한 움직임 벡터(motion vector)를 추정하여, 전체 영상을 전송하는 대신에, 이들 움직임 벡터를 전송함으로써 전송정보를 압축하는 기술(즉, 영상압축)을 말하는 것이다.
한편, 블럭 정합 알고리즘중에서 계산량은 많지만 움직임 벡터를 상대적으로 정확하게 찾을 수 있는 알고리즘이 최근 집적기술의 발전으로 가능해졌는데, 이 알고리즘은 기준 블록을 서치 윈도우안의 모든 후보 블록들과 비교하는 것으로 '완전 탐색 블록 정합 알고리즘(full search block matching algorithm)'이라 한다.
완전 탐색 블럭 정합 알고리즘을 이용한 움직임 벡터 추출 일반식은 다음 수학식으로 구해진다.
[수학식]
상기 수학식에서 쓰인현재 프레임의 기준 블럭 내의 (i,j)좌표에 있는 각 화소값을 나타내고,이전 프레임의 기준 블럭의 위치에 있는 각 화소값을 나타낸다.
의 절대치 차이값(distortion)을 의미한다.좌표의 움직임 벡터를 갖는 탐색 블럭의 j 열의 k 행 까지의 화소값들의 각각의 화소값 절대치 차이값을 합산한 누적치를 나타낸다.
좌표의 움직임 벡터를 갖는 탐색 블럭과 기준 블럭과의 절대치 차이값의 총 누적 값을 나타낸다.
이렇게 구해진좌표가 -p/+p범위내의 모든 중에서 가장 최소 값을 갖게 하는를 기준 블럭의 움직임 벡터로 결정한다.
여기서,값을 블럭 크기로 나눈 값을 평균 절대 오차값 MAE(mean absolute error)이라 한다.
상기 수학식에서도 보듯이 움직임 추정에서 요구되는 기본적인 연산으로는 기준블록과 후보 블록과의 차를 구하는 감산과정과, 감산에 의해 구해진 차이값들을 매크로블록내에서 모두 더하여 절대에러값을 구하는 가산과정이 있다.
이러한 연산과정중에서 가산과정을 처리하는 종래의 가산기는 도 2에 도시된 바와 같이, 16개의 기본로직(101∼116)과, 4개의 전가산기(FA: 121∼124), 2개의 2비트 덧셈기(131,132), 3비트 덧셈기(141), 4비트 레지스터(142), 8비트 누산기(151)로 구성되어 있다.
도 1을 참조하면, 하나의 기본로직(101∼116)은 2비트의 A픽셀과 2비트의 B픽셀을 논리연산하여 1비트의 논리연산 결과값을 출력하는데, A픽셀의 비트 0과 B픽셀의 비트 0을 배타적 오아 연산하는 제1 배타적 오아게이트(117)와, A픽셀의 비트 1과 B픽셀의 비트 1을 배타적 오아 연산하는 제2 배타적 오아게이트(118), 및 제1 배타적 오아게이트(117)와 제2 배타적 오아게이트(118)의 출력을 논리합하는 오아게이트(119)로 구성된다.
제1 전가산기(FA:121)는 3개의 기본로직(101,102,103)이 출력하는 3비트를 가산하여 2비트의 서맨드(summand)와 캐리(carry)를 출력하고, 제2 전가산기(FA:122)는 3개의 기본로직(105,106,107)이 출력하는 3비트를 가산하여 2비트의 서맨드(summand)와 캐리(carry)를 출력한다.
또한, 제3 전가산기(FA:123)는 3개의 기본로직(109,110,111)이 출력하는 3비트를 가산하여 2비트의 서맨드(summand)와 캐리(carry)를 출력하고, 제4 전가산기(FA:124)는 3개의 기본로직(113,114,115)이 출력하는 3비트를 가산하여 2비트의 서맨드(summand)와 캐리(carry)를 출력한다.
제1 2비트 덧셈기(131)는 2개의 전가산기(121,122)의 각 2비트 출력과 하나의 기본로직(104)의 출력을 가산하여 3비트의 서맨드와 캐리를 출력하고, 제2 2비트 덧셈기(132)는 2개의 전가산기(123,124)의 각 2비트 출력과 하나의 기본로직(112)의 출력을 가산하여 3비트의 서맨드와 캐리를 출력한다.
3비트 덧셈기(141)는 두 개의 2비트 덧셈기(131,132)의 각 3비트 출력과 하나의 기본로직(108)의 출력을 가산하여 4비트의 서맨드와 캐리를 4비트 레지스터(142)에 출력한다. 8비트 누산기(151)는 4비트 레지스터(142)의 출력을 B 단자로 입력받고, 8비트 누산기의 출력을 A단로 입력받으며, 기본로직(116)의 출력을 C단자로 입력받아 누산한다.
그런데, 이와 같은 종래의 가산기 구조는 매크로 블록의 픽셀들에 대해 적어도 4차례의 가산과정이 순차적으로 진행되어야 하므로 연산시간이 길어지는 문제점이 있다.
이를 해결하기 위하여 본 발명자에 의해 발명된 '움직임 추정기에서 절대에러값을 구하기 위한 가산방법'은 월리스 트리를 이용한 가산기 구조로서, 대한 민국 특허 출원된 제 96-43246호가 있다.
여기서, '월리스 트리'란 병렬 승산기 내부 회로중 가장 비중이 크고 핵심이 되는 다수개의 부분곱 행을 더하여 두개의 출력선으로 감축시키는 다수 피연산자 가산 회로로서, 1964년 C.S. Wallace에의해 제시되었으며, 도 2a 에 도시하였다.
도 2a에서 보여지는 월리스 트리 구조의 기본 셀인 전가산기의 캐리 출력 대기 시간을 제거하여 성능을 개선한 수정형 월리스 트리 구조가 1991년 S.M. Moh 와 T.D. Han에의해 제안되었으며, 도 2b 에 도시하였다. 도 2b 에서 보여지는 바와 같이 전가산기의 캐리 출력과 합 출력의 지연시간이 서로 다르므로, 수정형 월리스 트리 구조에서는 같은 지연시간을 갖는 출력끼리 모아서 처리하여 캐리 지연(carry propagation)이 없이 고속으로 가산을 수행하는 것이다.
상기 대한 민국 특허 출원 제 96-43246호에서는 이와 같이 월리스 트리를 이용하여 움직임 추정기에서의 고속의 가산을 요하는 가산기에 적용시킨 것이며, 도 3 3에 도시하였다.
도 3은 움직임 추정기에서 윌리스 트리를 이용한 종래의 가산기 구조를 도시한 블록도이고, 도 4는 움직임 추정시 종래의 도 3에 따라 매크로 블록의 차이값들을 가산하는 동작을 도시한 개념도이다.
도 3에서 보는 바와 같이, 16×16 매크로 블럭의 차이값(distortion)을 월리스 트리를 이용하여 가산하는 가산기는, 16×16 개의 서맨드중 라인의 서맨드를 2개로 줄이는 16×16개의 월리스 트리로 이루어진 제1 월리스 가산부(210)와, 상기 제1 월리스 가산부(210)의 처리된 결과 16×2 개의 서맨드중 16개의 서맨드를 2개의 서맨드로 줄이는 16×2개의 월리스 트리로 이루어진 제2 월리스 가산부(220), 및 상기 제2 월리스 가산부(220)의 처리된 결과 2×2개의 서맨드를 가산하는 병합 가산부(230)로 구성되어 있다.
이와 같이 구성된 월리스 트리를 이용한 가산기의 동작을 도 4을 참조하여 설명하면 다음과 같다.
가산의 대상이 되는 매크로 블록은 16×16 개의 픽셀들로 이루어지는데, 이 픽셀들의 값은 기준 블록과 후보 블럭과의 차에 의해 구해진 차이값(distortion)이다.
가산방법은 도 4에 도시된 바와 같이, 16×16개의 차이값들을 세로방향으로 가산하여 16×2의 서맨드를 산출하는 제1 단계(step1)와, 상기 제1 단계에서 산출된 16×2개의 서맨드에 대하여 가산을 수행하여 2×2 서맨드를 출력하는 제2 단계(step2), 및 상기 2×2 서맨드를 병합 가산기로 가산하는 제3 단계(step3)로 구성된다.
상기 제1 단계(step1)에서는 16×16개의 차이값들을 도 4에 도시된 화살표 방향으로 가산하여 16×2의 서맨드를 산출한다. 이때 제1 단계의 가산에는 도 3에 도시된 바와 같이 16×16개의 윌리스 트리로 된 제1 윌리스 가산부(210)가 사용된다. 이어서, 제2 단계(step2)에서는 제1 단계에서 산출된 16×2개의 서맨드에 대하여 제2 윌리스 가산부(220)에서 화살표 방향으로 가산을 수행하여 2×2 서맨드를 출력하고, 제 3단계(step3)에서는 2×2 서맨드를 도 3에 도시된 바와 같은 병합 가산기(230)로 가산하여 최종적으로 절대에러값(MAE)을 구한다.
그러나, 상기 종래의 월리스 트리를 이용한 가산기에서는 16개의 서맨드를 2개로 줄이는 구조로 인해 각 단계에 할당된 처리 시간의 균형을 맞추어 제작하기에 다소 어려운 문제점이 있었다.
이에 본 발명은 상기와 같은 종래의 문제점을 해소하기 위하여 안출된 것으로, 각 단계의 처리시간의 균형을 고려하기 위하여 파이프라인 단계를 세분화하고, 각 단계의 가산을 월리스 트리를 이용하여 매크로 블록의 차이값들을 고속으로 가산하는 움직임 추정기의 에러 절대값 가산 방법 및 가산기 구조을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 방법은,매크로 블록의 픽셀값들을 윌리스 트리구조를 이용하여 가산하는 방법에 있어서,개의 차이값들을 행 혹은 열방향으로 가산하여의 서맨드를 산출하는 제 1 단계와; 상기 제 1 단계에서 산출된개의 서맨드에 대하여 행 혹은 열방향으로 가산을 수행하여서맨드를 산출하는 제 2 단계; 상기 제 2단계에서 산출된서맨드에 대하여 행 또는 열 방향으로 가산하여를 산출하는 제 3 단계; 및 상기 제 3 단계에서 산출된를 가산하여 최종 값 1×1 서맨드 를 구하는 제 4 단계로 구성되는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위하여 본 발명의 구조는,매크로 블록의 차이값들을 가산하여의 서맨드를 산출하는 제1 월리스 가산부와; 상기 제1 월리스 가산부에서 산출된개의 서맨드에 대하여 가산을 수행하여서맨드를 출력하는 제 2 월리스 가산부; 상기 제 2 월리스 가산부에서 산출된서맨드에 대하여 가산하여를 산출하는 제 1 병합 가산부; 및 상기 제 1 병합 가산부에서 산출된를 가산하여 최종 값을 구하는 제 2 병합 가산부로 구성되는 것을 특징으로 한다.
도 1은 움직임 추정기에서 종래의 가산기 구조를 도시한 블록도,
도 2a는 일반적인 월리스 트리의 개념을 설명하기 위한 기본 월리스 트리의 구조도,
도 2b는 수정형 월리스 트리의 개념을 설명하기 위한 수정형 월리스 트리의 구조도,
도 3는 움직임 추정기에서 월리스 트리를 이용한 종래의 가산기 구조를 도시한 블록도,
도 4은 움직임 추정시 종래의 도 3에 따라 매크로 블록의 차이값들을 가산하는 동작을 도시한 개념도,
도 5는 움직임 추정기에서 윌리스 트리를 이용한 본 발명에 따른 가산기 구조를 도시한 블록도,
도 6는 움직임 추정시 본 발명의 도 5에 따라 매크로 블록의 차이값들을 가산하는 동작을 도시한 개념도,
도 7은 4개 서맨드를 2개 서맨드로 줄이는 월리스 트리 동작을 설명하기 위한 비트맵도,
도 8은 도 7을 전가산기로 구현한 4입력 2출력 월리스 가산기의 세부 구조를 도시한 세부 구성도이다.
* 도면의 주요부분에 대한 부호의 설명 *
500 : 제 1 월리스 가산부510 : 제 2 월리스 가산부
520 : 제 1 병합 가산부 530 : 제 2 병합 가산부
W42: 4입력 2출력 월리스 가산기 MA81: 8입력 1출력 병합 가산기
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
도 5는 움직임 추정기에서 윌리스 트리를 이용한 본 발명에 따른 가산기 구조를 도시한 블록도이고, 도 6는 움직임 추정시 본 발명의 도 5에 따라 매크로 블록의 차이값들을 가산하는 동작을 도시한 개념도이다.
도 5와 도 6은 매크로 블럭의 크기가 16×16개의 서맨드로 이루어져 있고, 각 서맨드가 8비트로 이루어진 것을 일예로 하여 본 실시예를 설명하고자 한다.
도 5를 참조하면, 4단계의 파이프 라인 구조로 이루어진 가산기는, 제 1 월리스 가산부(500)와 제 2 월리스 가산부(510), 제 1 병합 가산기(520), 및 제 2 병합 가산기(530)로 구성되어 있다. 여기서, 매트릭스 표기는 (수평 데이터 개수 × 수직 데이터 개수)로 나타내기로 한다.
상기 제 1 월리스 가산부(500)는 16×16 매트릭스의 1열(column)에 해당하는 16개 서맨드를 8개 서맨드로 줄이는 4입력 2출력 월리스 가산기 4개를 1조(500-1)로 하여, 1조와 동일한 구조를 갖으면서 나머지 15개의 열의 서맨드를 계산하는 2∼16조(500-2∼500-16)로 구성되어 있다.
상기 제 2 월리스 가산부(510)는 상기 제 1 월리스 가산부(500)로부터 출력된 16×8 매트릭스의 1행(row)에 해당하는 16개 서맨드를 8개 서맨드로 줄이는 4입력 2 출력 월리스 가산기 4개를 1조(510-1)로 하여, 1조와 동일한 구조를 갖으면서 나머지 7개의 행의 서맨드를 계산하는 2∼8조(510-2∼510-8)로 구성되어 있다.
상기 제 1 병합 가산부(520)는 상기 제 2 월리스 가산부(510)로부터 출력된 8×8 매트릭스의 1열(column)에 해당하는 8개 서맨드를 1개의 서맨드로 줄이는 병합 가산기를 1조(520-1)로 하여, 1조와 동일한 구조를 갖으면서 나머지 7개의 열의 서맨드를 계산하는 2∼8조(520-2∼520-8)로 구성되어 있다.
상기 제 2 병합 가산부(530)는 상기 제 1 병합 가산부(520)로부터 출력된 1×8 매트릭스의 8개의 서맨드를 가산하여 1서맨드를 추출하는 가산기로 구성되어 있다. 이때, 상기 1서맨드가 바로 최종값인 절대 에러값이 된다.
여기서, 상기 제 1 및 제 2 병합 가산부(520, 530)에서 사용되는 가산기로는 CSA(carry select adder), CLA(carry lookahead adder) 등을 이용하여 구현할 수도 있다.
이제, 도 5와 같이 구성된 파이프 라인 구조를 갖는 가산기의 동작을 도 6을 참조하여 설명하면 다음과 같다.
우선, 도 6의 16×16 픽셀로 구성된 매크로 블럭의 각 픽셀값은, 기준 블록과 후보 블록과의 차이값(distortion)에 해당된다. 따라서, 두 블럭이 유사 할수록 차이값이 '0'에 가깝고, 유사하지 않을 수록 그 값은 커진다. 여기서는 각 픽셀의 비트를 8비트로 가정하기로 한다.
제 1 단계(step 1)에서는, 두 블럭의 차이값을 나타내는 16×16개의 픽셀에서 1열(1 column)에 해당하는 16개 픽셀을 상기 제 1 월리스 가산부(500)의 1조(500-1)를 통해 가산하여 8개의 서맨드로 출력하고, 2열(2 column)에 해당하는 16개 픽셀을 상기 제 1 월리스 가산부(500)의 2조(500-2)를 통해 가산하여 8개의 서맨드로 출력하며, 나머지 열(3∼16 column)에 대해서도 각 8개의 서맨드를 출력한다.
이와 같이 제 1 월리스 가산부(500)를 통하여 제 1단계가 수행된 이후, 가산부로의 각 조에서 출력된 8개의 서맨드를 열로 정렬시키게 되면 도 6의 16×8 서맨드 매트릭스와 같이 나타난다.
제 2 단계(step 2)에서는, 16×8 서맨드에서 1행(1 row)에 해당하는 16개 서맨드를 상기 제 2 월리스 가산부(510)의 1조(510-1)를 통해 가산하여 8개의 서맨드로 출력하고, 2행(2 row)에 해당하는 16개 서맨드를 상기 제 2 월리스 가산부(510)의 2조(510-2)를 통해 가산하여 8개의 서맨드로 출력하며, 나머지 행(3∼8 row)에 대해서도 각 8개의 서맨드를 출력한다.
이와 같이 제 2 월리스 가산부(510)를 통하여 제 2단계가 수행된 이후, 가산부(510)의 각 조에서 출력된 8개의 서맨드를 행단위 정렬시키게 되면 도 6의 8×8 서맨드 매트릭스와 같이 나타난다.
제 3 단계(step 3)에서는, 8×8 서맨드에서 1열(1 column)에 해당하는 8개 서맨드를 상기 제 1 병합 가산부(520)의 1조(520-1)를 통해 가산하여 1개의 서맨드로 출력하고, 2열(2 column)에 해당하는 8개 서맨드를 상기 제 1 병합 가산부(520)의 2조(520-2)를 통해 가산하여 1개의 서맨드로 출력하며, 나머지 열(3∼8 column)에 대해서도 각 1개씩의 서맨드를 출력한다.
이와 같이 제 1 병합 가산부(520)를 통하여 제 3단계가 수행된 이후, 가산부(520)의 각 조에서 출력된 1개의 서맨드를 행단위 정렬시키게 되면 도 6의 1×8 서맨드 매트릭스와 같이 나타난다.
제 4 단계(step 4)에서는, 1×8 서맨드에서 8개의 서맨드를 가산하여 1개의 서맨드로 출력하고, 이값이 바로 최종계산된 후보 블럭의 절대 에러값(MAE)이다.
이와 같이 블럭의 각 픽셀들의 차이값의 절대치를 모두 더하면 절대 에러값(MAE)이 되는데 움직임 추정에서는 하나의 기준 블럭과 각 후보블럭에 대한 절대 에러값(MAE)을 구한 후, 이를 비교하여 절대 에러값이 가장 작은 후보블럭을 기준블럭의 이전 위치로 추정하고, 그 움직임 벡터(motion vector)를 구하는 것이다.
여기서, 상기 제 1 및 제 2 월리스 가산부(500, 510)의 구체적인 동작을 설명하기 위해 4입력 2출력 월리스 트리를 보이고자 한다.
도 7은 4개의 서맨드를 2개의 서맨드로 줄이는 월리스 트리 동작을 설명하기 위한 비트맵도이고, 도 8은 도 7을 전가산기로 구현한 4입력 2출력 월리스 가산기의 세부 구조를 도시한 세부 구성도이다.
도 7을 참조하면, 윌리스 트리에서는 4개의 서맨드를 입력받아 동일한 위치의 비트끼리 묶어서 가산하여 썸(SUM)과 캐리(CARRY)를 발생하고, 발생된 썸에 해당하는 비트들과 캐리에 해당하는 비트들을 하나의 서맨드 간주하여 2개의 서맨드를 출력하므로써, 캐리 프로퍼케이션이 발생되지 않도록 하고 있다.
즉, 4개의 서맨드(혹은 픽셀) A, B, C, D 는 8비트로 구성되어 있으며, 동일한 비트 위치끼리 가산을 수행하는데, A, B, C의 각 비트 3개씩 그룹을 지어 가산한다. 그 결과 각 그룹의 썸은 동일한 비트 위치, 캐리는 상위 1비트 위치에 해당하는 웨이트가 되어서, 나머지 D 의 각 비트와 동일한 웨이트의 비트끼리 다시 3개씩 그룹을 지어 가산한다. 그 결과 각 그룹의 썸은 동일한 비트 위치, 캐리는 상위 1비트 위치에 해당하는 웨이트가 되어서, 2개의 서맨드 E와 F의 윌리스 트리의 출력쌍을 형성한다.
이때, 출력된 2개의 서맨드 E와 F의 최고 9비트까지 발생되고 있으나, 원래 기준 블럭과 후보 블럭의 각 픽셀끼리의 차이값을 가산하였기 때문에, 여기서 가산된 2개의 서맨드는 그다지 크지 않으며, 최상위 비트(캐리)까지 고려하지 않더라도 결과에는 지장이 없다.
이상의 실시예에서는 매크로 블록에 대해 월리스 트리구조를 이용한 제 1 단계(step1)에서는 열(수직)방향으로 가산을 수행한 후, 제 2 단계(step2)에서 행(수평)방향으로 가산을 수행하였으나, 본 발명은 제 1 단계에서 행(수평)방향으로 가산을 수행한 후 제 2 단계에서 열(수직)방향으로 가산을 수행할 경우에도 그대로 적용될 수 있으며, 병렬 가산을 수행하는 제 3단계에서도 마찬가지로 열과 행의 가산방향에는 무관하다.
그리고, 16개의 서맨드를 8개의 서맨드로 줄여나가는 제 1 단계와 제 2단계, 8개의 서맨드를 1개의 서맨드로 줄여나가는 제 3 단계와 제 4 단계를 각각 수행하는 처리속도중 가장 긴 지연시간을 기준 클럭으로하고, 각 단계가 동기화된 파이프 라인 구조를 VLSI로 제작하여 실시간 처리를 가능케 한 것이다.
이상에서 살펴본 바와 같이 본 발명에 따라 움직임 추정시에 절대에러값을 구할경우에 캐리 지연이 없는 윌리스 트리(wallace tree)구조를 이용하고, 파이프 라인 단계를 세분화하여 각 단계에 일정한 처리 시간을 할당하므로써 고속으로 가산하는 효과가 있는 것이다.

Claims (4)

  1. 움직임 추정기에서 n×n 매크로 블록의 픽셀값들을 윌리스 트리 구조를 이용하여 가산하는 회로에 있어서, n×n 매크로 블록의 차이값들을 행 혹은 열방향으로 가산하여의 서맨드를 산출하는 제1월리스 가산부(500); 상기 제1월리스 가산부(500)에서 산출된개의 서맨드에 대하여 행 혹은 열방향으로 가산을 수행하여서맨드를 출력하는 제2월리스 가산부(510); 상기 제2월리스 가산부(510)에서 산출된서맨드에 대하여 행 또는 열방향으로 가산하여를 산출하는 제1병합 가산부(520); 및 상기 제1병합 가산부(520)에서 산출된를 가산하여 최종 값 1×1 서맨드를 구하는 제2병합 가산부(530)를 포함하여 구성되는 것을 특징하는 움직임 추정기의 절대 에러값 가산회로.
  2. 제2항에 있어서, 상기 제1월리스 가산부(500)는 16×16 매트릭스의 1열에 해당하는 16개 서맨드를 8개 서맨드로 줄이는 4입력 2출력 월리스 가산기 4개를 1조(500-1)로 하여, 1조와 동일한 구조를 가지면서 나머지 15개의 열의 서맨드를 계산하는 2∼16조(500-2∼500-16)로 구성되며, 상기 4입력 2출력 월리스 가산기는 4개의 서맨드중에서 3개 서맨드의 동일한 웨이트를 갖는 비트끼리 더하는 다수개의 전가산기(FA0∼FA7)와, 상기 전가산기(FA0∼FA7)로부터 출력된 캐리, 섬, 나머지 서맨드의 동일한 웨이트를 갖는 비트끼리 더하는 다수개의 전가산기(FA8∼FA14)를 포함하여 구성되는 것을 특징으로 하는 움직임 추정기의 절대 에러값 가산회로.
  3. 제2항에 있어서, 상기 제2월리스 가산부(510)는 상기 제1월리스 가산부(500)로부터 출력된 16×8 매트릭스의 1행에 해당하는 16개 서맨드를 8개 서맨드로 줄이는 4입력 2출력 월리스 가산기 4개를 1조(510-1)로 하여, 1조와 동일한 구조를 가지면서 나머지 7개의 행의 서맨드를 계산하는 2∼8조(510-2∼510-8)로 구성되며, 상기 4입력 2출력 월리스 가산기는 4개의 서맨드중에서 3개 서맨드의 동일한 웨이트를 갖는 비트끼리 더하는 다수개의 전가산기(FA0∼FA7)와, 상기 전가산기(FA0∼FA7)로부터 출력된 캐리, 섬, 나머지 서맨드의 동일한 웨이트를 갖는 비트끼리 더하는 다수개의 전가산기(FA8∼FA14)를 포함하여 구성되는 것을 특징으로 하는 움직임 추정기의 절대 에러값 가산회로.
  4. 제4항에 있어서, 상기 제1병합 가산부(520)는 상기 제2월리스 가산부(510)로부터 출력된 8×8 매트릭스의 1열에 해당하는 8개 서맨드를 1개의 서맨드로 줄이는 병합 가산기를 1조(520-1)로 하여, 1조와 동일한 구조를 갖으면서 나머지 7개의 열의 서맨드를 각각 계산하는 2∼8조(520-2∼520-8)를 포함하여 구성되는 것을 특징으로 하는 움직임 추정기의 절대 에러값 가산회로.
KR1019960055794A 1996-11-20 1996-11-20 움직임 추정기의 절대 에러값 가산 회로 KR100243467B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960055794A KR100243467B1 (ko) 1996-11-20 1996-11-20 움직임 추정기의 절대 에러값 가산 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960055794A KR100243467B1 (ko) 1996-11-20 1996-11-20 움직임 추정기의 절대 에러값 가산 회로

Publications (2)

Publication Number Publication Date
KR19980037095A KR19980037095A (ko) 1998-08-05
KR100243467B1 true KR100243467B1 (ko) 2000-02-01

Family

ID=19482718

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960055794A KR100243467B1 (ko) 1996-11-20 1996-11-20 움직임 추정기의 절대 에러값 가산 회로

Country Status (1)

Country Link
KR (1) KR100243467B1 (ko)

Also Published As

Publication number Publication date
KR19980037095A (ko) 1998-08-05

Similar Documents

Publication Publication Date Title
EP1074941B1 (en) Motion vector detection apparatus
US6473529B1 (en) Sum-of-absolute-difference calculator for motion estimation using inversion and carry compensation with full and half-adders
US20070094320A1 (en) Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution
US5696836A (en) Motion estimation processor architecture for full search block matching
KR101578052B1 (ko) 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치
US5793655A (en) Sum of the absolute values generator
US6687299B2 (en) Motion estimation method and apparatus for interrupting computation which is determined not to provide solution
US5652625A (en) Multi-stage pipeline architecture for motion estimation block matching
US5864372A (en) Apparatus for implementing a block matching algorithm for motion estimation in video image processing
KR100243467B1 (ko) 움직임 추정기의 절대 에러값 가산 회로
KR100243466B1 (ko) 움직임 추정기의 절대 에러값 가산 회로
Mukherjee VLSI architecture design of motion estimation block with hexagon-diamond search pattern for real-time video processing
KR100212847B1 (ko) 움직임 추정기에서 절대에러값을 구하기 위한 가산방법
KR0178302B1 (ko) 양방향 병렬 파이프라인 구조에 근거한 탐색 이동 예측처리기
Su et al. Motion estimation using MSD-first processing
US6594396B1 (en) Adaptive difference computing element and motion estimation apparatus dynamically adapting to input data
JP2885039B2 (ja) 動きベクトル検出回路
KR100236033B1 (ko) 움직임 추정기의 절대 에러값 가산 방법 및 가산기 구조
KR20010052624A (ko) 움직임 추정
JP2931789B2 (ja) 動きベクトル探索装置
JPH0993581A (ja) 動画像符号化装置の動き検出装置
KR100246033B1 (ko) 고속 실시간 처리 움직임 추정을 위한 연산방법 및 이를 위한 연산장치
EP1487112A1 (en) Data processing device
KR100301835B1 (ko) 블록정합움직임추정방법및장치
Iwata et al. An LSI architecture for block-matching motion estimation algorithm considering chrominance signal

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20121101

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20131101

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee