KR100212847B1 - 움직임 추정기에서 절대에러값을 구하기 위한 가산방법 - Google Patents

움직임 추정기에서 절대에러값을 구하기 위한 가산방법 Download PDF

Info

Publication number
KR100212847B1
KR100212847B1 KR1019960043246A KR19960043246A KR100212847B1 KR 100212847 B1 KR100212847 B1 KR 100212847B1 KR 1019960043246 A KR1019960043246 A KR 1019960043246A KR 19960043246 A KR19960043246 A KR 19960043246A KR 100212847 B1 KR100212847 B1 KR 100212847B1
Authority
KR
South Korea
Prior art keywords
willis
adder
bit
output
addition
Prior art date
Application number
KR1019960043246A
Other languages
English (en)
Other versions
KR19980023746A (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 KR1019960043246A priority Critical patent/KR100212847B1/ko
Publication of KR19980023746A publication Critical patent/KR19980023746A/ko
Application granted granted Critical
Publication of KR100212847B1 publication Critical patent/KR100212847B1/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
    • 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5318Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with column wise addition of partial products, e.g. using Wallace tree, Dadda counters
    • 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

Landscapes

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

Abstract

본 발명은 영상 부호화기에 사용되는 움직임 추정기(motion estimator)에서 절대에러(MAE: Mean Absolute Error)값을 구하기 위하여 차이값(distortion)들을 가산하는 가산방법에 관한 것이다.
본 발명의 가산방법은 움직임 추정시에 n × n 매크로 블록의 픽셀값들을 윌리스 트리구조를 이용하여 가산하는 방법에 있어, n × n개의 차이값들을 세로방향으로 가산하여 n × 2의 서맨드를 산출하는 제1 단계( step1 )와, 상기 제1 단계에서 산출된 n × 2개의 서맨드에 대하여 가로방향으로 가산을 수행하여 2 × 2 서맨드를 출력하는 제2 단계( step 2), 및 상기 2 × 2 서맨드를 일반 가산기로 가산하는 제3 단계( step3 )로 구성되어 윌리스 트리(wallace tree)구조를 이용하므로써 고속으로 연산을 수행할 수 있는 효과가 있다.

Description

움직임 추정기에서 절대에러값을 구하기 위한 가산방법 ( Adding method for calculating MAE in a motion estimator)
본 발명은 영상 부호화기에 사용되는 움직임 추정기(motion estimator)에서 절대에러(MAE: Mean Absolute Error)값을 구하기 위하여 차이값(distortion)들을 가산하는 가산방법에 관한 것이다.
일반적으로, 영상신호 처리기술에서 '움직임 추정(motion estimation)'이란 연속되는 영상신호에서 현재 프레임(current frame)의 화소(pixel)들이 이전 프레임(previous frame)에 비해 어느 정도 움직였는지를 벡터로 표시한 움직임 벡터(motion vector)를 추정하여, 전체 영상을 전송하는 대신에, 이들 움직임 벡터를 전송함으로써 전송정보를 줄이는 기술(즉, 영상압축)을 말하는 것이다.
이러한 움직임 추정에서 널리 사용되는 블록 정합 알고리즘(BMA: Block Matching Algorithm)은 화면의 움직임이 수평 또는 수직으로 평행 이동한 것으로 가정하여 움직임이 일어난 프레임(즉, 현재 프레임)의 블록영상이 움직임이 일어나기전 프레임(즉, 이전 프레임)의 어느 위치에 있는 블록영상과 가장 일치하는가를 추정하여 그 위치를 통해 움직임 벡터를 추정하는 방법이다. 이때, 블록의 크기로는 8 x 8, 16 x 16( 가로 픽셀 수 x 세로 픽셀 수 )을 주로 사용한다.
여기서, 현재 프레임의 레퍼런스 블록(reference block)과 가장 유사한 이전 블록을 찾기 위하여 이전 프레임에서 레퍼런스 블록의 위치를 중심으로 일정 범위 안을 찾게 되는데, 이러한 범위를 서치 윈도우(search window)라 하고, 이러한 서치 윈도우안에서 각 후보블록(candidate block)과의 차를 디스토션(distortion)이라 하며, 두 블록간의 유사정도를 나타낸다.
또한, 서치 윈도우안의 모든 후보블록과 레퍼런스 블록을 비교하는 것을 풀 서치 블록매칭(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) 방법이라 하며, 평균절대오차는 다음 수학식으로 구해진다.
상기 수학식에서 Eabs는 평균절대오차값이고, B는 블록 크기를 뜻하며, 따라서 상기 Eabs를 최소로하는 (a,b)를 구하면 이것이 움직임 벡터가 된다.
한편, 상기와 같은 움직임 추정에서 요구되는 기본적인 연산으로는 레퍼런스 블록과 후보 블록과의 차를 구하는 감산과정과, 감산에 의해 구해진 차이값들을 매크로블록내에서 모두 더하여 절대에러값을 구하는 가산과정이 있다. 이러한 연산과정중에서 가산과정을 처리하는 종래의 가산기는 도 1에 도시된 바와 같이, 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차례의 가산과정이 순차적으로 진행되어야 하므로 연산시간이 길어지는 문제점이 있다.
이에 본 발명은 상기와 같은 종래의 문제점을 해소하기 위하여 안출된 것으로, 월리스 트리(Wallace tree)를 이용하여 매크로 블록의 차이값들을 고속으로 가산하기 위한 가산방법을 제공하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, n × n 매크로 블록의 픽셀값들을 윌리스 트리구조를 이용하여 가산하는 방법에 있어서, n × n개의 차이값들을 가로 혹은 세로방향으로 가산하여 n × 2의 서맨드를 산출하는 제1 단계와; 상기 제1 단계에서 산출된 n × 2개의 서맨드에 대하여 가산을 수행하여 2 × 2 서맨드를 출력하는 제2 단계; 및 상기 2 × 2 서맨드를 일반 가산기로 가산하는 제3 단계로 구성된 것을 특징으로 한다.
도 1은 움직임 추정기에서 종래의 가산기 구조를 도시한 블록도,
도 2는 움직임 추정기에서 본 발명에 따른 가산기의 구조를 도시한 블록도,
도 3은 움직임 추정시 본 발명에 따라 매크로 블록의 차이값들을 가산하는 동작을 도시한 개념도,
도 4는 본 발명에 이용되는 월리스 트리구조의 동작을 설명하기 위한 도면이다.
* 도면의 주요부분에 대한 부호의 설명
101∼116 : 기본연산로직 121∼123 : 전가산기(FA)
131,132 : 2비트 덧셈기 141 : 3비트 덧셈기
142 : 4비트 레지스터 151 : 8비트 누산기
210 : 제1 윌리스 가산부 220 : 제2 윌리스 가산부
230 : 가산부
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
도 2는 움직임 추정기에서 본 발명에 따른 가산기의 구조를 도시한 블록도이고, 도 3은 움직임 추정시 본 발명에 따라 매크로 블록의 차이값들을 가산하는 동작을 도시한 개념도이며, 도 4는 본 발명에 이용되는 월리스 트리구조의 동작을 설명하기 위한 도면이다.
본 발명에 따라 16 × 16 매크로 블럭의 차이값(distortion)을 윌리스 트리를 이용하여 가산하는 가산기는 도 2에 도시된 바와 같이, 16×16 블럭에서 가로방향 혹은 세로방향으로 제1 단계의 연산과정을 수행하기 위한 n비트 입력의 16×16개의 윌리스 트리로 이루어진 제1 윌리스 가산부(210)와, 상기 제1 단계의 연산과정에 의해 처리된 결과를 각각 가산하여 제2 단계의 가산을 처리하기 위한 n비트 입력의 16 × 2개의 월리스 트리로 이루어진 제2 윌리스 가산부(220), 상기 제2 윌리스 가산부(220)의 출력을 가산하기 위한 일반 가산부(230)로 구성되어 있다.
이와 같이 구성된 윌리스 트리를 이용한 가산기의 동작을 도 3을 참조하여 설명하면 다음과 같다.
먼저, 본 발명의 실시예에서 가산의 대상이 되는 매크로 블록은 16×16 개의 픽셀들로 이루어지는데, 이 픽셀들의 값은 레퍼런스 블록과 후보 블럭과의 차에 의해 구해진 차이값(distortion)이다. 따라서 이 차이값들을 레퍼런스 블록의 픽셀과 후보블럭의 해당 픽셀과의 유사도(상관도)를 나타내는 값으로, 두 블록이 유사할 수록 차이값이 0에 가깝고 유사하지 않을수록 그 값이 커진다. 이러한 각 픽셀들의 차이값의 절대치를 모두 더하면 절대에러값(MAE)이 되는데, 움직임 추정에서는 하나의 레퍼런스 블럭과 각 후보블럭들에 대한 절대에러값을 구한 후, 이를 비교하여 절대에러값이 가장 작은 후보블럭을 레퍼런스 블럭의 이전 위치로 추정하고 그 움직임 벡터를 구하는 것이다.
본 발명에 따른 가산방법은 도 3에 도시된 바와 같이, 16 × 16개의 차이값들을 세로방향으로 가산하여 16 × 2의 서맨드를 산출하는 제1 단계(step1)와, 상기 제1 단계에서 산출된 16 × 2개의 서맨드에 대하여 가산을 수행하여 2 × 2 서맨드를 출력하는 제2 단계(step2), 및 상기 2 × 2 서맨드를 일반 가산기로 가산하는 제3 단계(step3)로 구성된다.
상기 제1 단계(step1)에서는 16×16개의 차이값들을 도 3에 도시된 화살표 방향으로 가산하여 16×2의 서맨드를 산출한다. 이때 제1 단계의 가산에는 도 2에 도시된 바와 같이 16 × 16개의 윌리스 트리로 된 제1 윌리스 가산부(210)가 사용된다.
이어서 제2 단계(step2)에서는 제1 단계에서 산출된 16×2개의 서맨드에 대하여 제2 윌리스 가산부(220)에서 화살표 방향으로 가산을 수행하여 2×2 서맨드를 출력하고, 제 3단계(step3)에서는 2×2 서맨드를 도 2에 도시된 바와 같은 일반 가산기(230)로 가산하여 최종적으로 절대에러값(MAE)을 구한다.
여기서, 윌리스 트리(wallace tree)는 도 4에 도시된 바와 같이, 각 개별 비트들을 가산한 결과 서맨드(Summand)와 캐리(Carry)가 발생되고, 최종 가산을 수행하면 캐리 프로퍼게이션(carry propagation)이 발생되므로 통상 최종 가산을 수행하지 않고, 2개의 서맨드로 출력한다.
즉, 도 4에 있어서 a1, a2, a3, a4와 같이 3개씩 그룹을 연산한 후 서맨드와 캐리가 발생되면, 이를 그룹으로 묶이지 않은 나머지와 다시 3개씩 묶어 b1, b2, b3그룹에 대해 연산을 수행하여 윌리스 트리의 출력쌍을 형성한다.
이와 같이, 윌리스 트리에 의한 가산결과를 다시 다른 서맨드들과 가산할 경우에 굳이 캐리 프로퍼게이션(carry propagation)이 발생되는 최종 가산을 수행하지 않고, 2개의 서맨드를 그대로 출력하여 다른 서맨드들과 다시 가산동작을 수행하게 한다.
이상의 실시예에서는 매크로 블록에 대해 제1 단계(step1)에서 수직(세로)방향으로 가산을 수행한 후 제 2단계(step2)에서 수평(가로)방향으로 가산을 수행하였으나, 본 발명은 제1 단계에서 수평(가로)방향으로 가산을 수행한 후 제2 단계에서 수직(세로)방향으로 가산을 수행할 경우에도 그대로 적용될 수 있다.
이상에서 살펴본 바와 같이 본 발명에 따라 움직임 추정시에 절대에러값을 구할경우에 윌리스 트리(wallace tree)구조를 이용하므로써 고속으로 연산을 수행할 수 있는 효과가 있다.

Claims (3)

  1. 움직임 추정시에 n × n 매크로 블록의 픽셀값들을 윌리스 트리구조를 이용하여 가산하는 방법에 있어서,
    n × n개의 차이값들을 세로방향으로 윌리스트리를 이용하여 가산한 후 n × 2의 서맨드를 산출하는 제1 단계( step1 )와;
    상기 제1 단계에서 산출된 n × 2개의 서맨드에 대하여 가로방향으로 윌리스트리를 이용하여 가산을 수행한 후 2 × 2 서맨드를 출력하는 제2 단계( step 2); 및
    상기 2 × 2 서맨드를 일반 가산기로 가산하는 제3 단계( step3 )로 구성된 것을 특징으로 하는 움직임 추정기에서 절대에러값을 구하기 위한 가산방법.
  2. 제1항에 있어서, 상기 제1 단계에서 n × n개의 차이값들을 가로방향으로 윌리스 트리를 이용하여 연산하여 2× n의 서맨드를 산출하는 것을 특징으로 하는 움직임 추정기에서 절대에러값을 구하기 위한 가산방법.
  3. 제1항에 있어서, 상기 제2 단계에서 2 × n개의 차이값들을 세로방향으로 윌리스 트리를 이용하여 가산하여 2 × 2의 서맨드를 출력하는 것을 특징으로 하는 움직임 추정기에서 절대에러값을 구하기 위한 가산방법.
KR1019960043246A 1996-09-30 1996-09-30 움직임 추정기에서 절대에러값을 구하기 위한 가산방법 KR100212847B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960043246A KR100212847B1 (ko) 1996-09-30 1996-09-30 움직임 추정기에서 절대에러값을 구하기 위한 가산방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960043246A KR100212847B1 (ko) 1996-09-30 1996-09-30 움직임 추정기에서 절대에러값을 구하기 위한 가산방법

Publications (2)

Publication Number Publication Date
KR19980023746A KR19980023746A (ko) 1998-07-06
KR100212847B1 true KR100212847B1 (ko) 1999-08-02

Family

ID=19475768

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960043246A KR100212847B1 (ko) 1996-09-30 1996-09-30 움직임 추정기에서 절대에러값을 구하기 위한 가산방법

Country Status (1)

Country Link
KR (1) KR100212847B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8345764B2 (en) 2008-04-02 2013-01-01 Samsung Electronics Co., Ltd. Motion estimation device having motion estimation processing elements with adder tree arrays

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8345764B2 (en) 2008-04-02 2013-01-01 Samsung Electronics Co., Ltd. Motion estimation device having motion estimation processing elements with adder tree arrays

Also Published As

Publication number Publication date
KR19980023746A (ko) 1998-07-06

Similar Documents

Publication Publication Date Title
EP1074941B1 (en) Motion vector detection apparatus
US6430317B1 (en) Method and apparatus for estimating motion using block features obtained from an M-ary pyramid
Feng et al. Adaptive block matching motion estimation algorithm using bit-plane matching
US20070071101A1 (en) Systolic-array based systems and methods for performing block matching in motion compensation
KR101578052B1 (ko) 움직임 추정 장치 및 이를 구비하는 동영상 부호화 장치
US5682209A (en) Motion estimation using limited-time early exit with prequalification matrices and a predicted search center
KR100226684B1 (ko) 반화소 움직임 추정장치
US5604546A (en) Image signal processing circuit for performing motion estimation
EP0734175A1 (en) Hierarchical motion vector estimation using multiple block sizes
EP0972236A1 (en) A sum of the absolute values generator
CN1115548A (zh) 预测运动的一种方法和设备
KR100364789B1 (ko) 움직임 추정 방법 및 장치
KR100408294B1 (ko) 저전송율 동영상 부호화에 적합한 움직임 추정 방법
US8804844B2 (en) Adaptive early exit techniques in image correlation
KR100229803B1 (ko) 움직임 벡터 검출 방법 및 장치
KR100212847B1 (ko) 움직임 추정기에서 절대에러값을 구하기 위한 가산방법
Jung et al. Efficient multilevel successive elimination algorithms for block matching motion estimation
EP1420595B1 (en) Motion vector selection in a video motion estimator based on a preferred reference point
US6594396B1 (en) Adaptive difference computing element and motion estimation apparatus dynamically adapting to input data
KR100243467B1 (ko) 움직임 추정기의 절대 에러값 가산 회로
KR100301835B1 (ko) 블록정합움직임추정방법및장치
JP2885039B2 (ja) 動きベクトル検出回路
US6968011B2 (en) Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
KR100243466B1 (ko) 움직임 추정기의 절대 에러값 가산 회로
Duanmu et al. A new lower bound for fast block motion estimation algorithms

Legal Events

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

Payment date: 20120503

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130502

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee