KR100315420B1 - Unified Processing Element for Motion Estimation - Google Patents

Unified Processing Element for Motion Estimation Download PDF

Info

Publication number
KR100315420B1
KR100315420B1 KR1019990061894A KR19990061894A KR100315420B1 KR 100315420 B1 KR100315420 B1 KR 100315420B1 KR 1019990061894 A KR1019990061894 A KR 1019990061894A KR 19990061894 A KR19990061894 A KR 19990061894A KR 100315420 B1 KR100315420 B1 KR 100315420B1
Authority
KR
South Korea
Prior art keywords
input
input terminal
value
calculating
result
Prior art date
Application number
KR1019990061894A
Other languages
Korean (ko)
Other versions
KR20010063800A (en
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 KR1019990061894A priority Critical patent/KR100315420B1/en
Publication of KR20010063800A publication Critical patent/KR20010063800A/en
Application granted granted Critical
Publication of KR100315420B1 publication Critical patent/KR100315420B1/en

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/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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

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

Abstract

본 발명은 움직임 추정 과정의 다양한 연산을 모두 한 장치 내에 처리할 수 있어 하드웨어의 수 및 전력 소모량을 감소시킬 수 있는 움직임 추정을 위한 통합 연산 장치에 관한 것으로, 정화소 탐색, 반화소 탐색, 인트라/인터 모드 결정 등, 움직임 추정 과정에서 필요한 모든 연산들을 처리할 수 있는 통합 연산장치를 제공한다.The present invention relates to an integrated computing device for motion estimation that can process various operations of the motion estimation process in one device, thereby reducing the number of hardware and power consumption. The present invention relates to a refinery search, a half-pixel search, and an intra / inter An integrated computing device capable of processing all operations required in a motion estimation process, such as mode determination, is provided.

Description

움직임 추정을 위한 통합 연산 장치{Unified Processing Element for Motion Estimation}Unified Processing Element for Motion Estimation

본 발명은 디스플레이 소자 제조 분야에 관한 것으로, 특히 동영상 압축에 사용되는 움직임 추정을 위한 연산장치에 관한 것이다.TECHNICAL FIELD The present invention relates to the field of display device manufacturing, and more particularly, to a computing device for motion estimation used for video compression.

움직임 추정은 동영상 전송시 연속된 영상들간에 존재하는 시간적 중복성을 제거하여 압축 효과를 높이는 기법으로서 MPEG(Motion Picture Experts Group), H.263 등 대부분의 동영상 압축 표준안에서 사용되고 있다. 움직임 추정 기법 중에서 가장 많이 사용되는 대표적인 것은 블록 정합 알고리즘이다. 블록 정합 알고리즘은 영상을 일정한 크기의 블록으로 분할하고 이전 영상의 탐색 영역 내에서 현재 영상의 블록과 가장 잘 정합되는 블록을 찾는 방법이다. 찾은 블록과 현재 영상 블록의 위치 차를 움직임 벡터라고 하는데 이를 부호화하여 처리한다. 두 블록 간의 정합 계산에는 여러 가지 정합 함수들이 사용될 수 있는데 가장 일반적으로 사용되는 것은 두 블록간 화소값들의 차의 절대값을 모두 합한 값인 SAD(sum of absolute difference)이다.Motion estimation is a technique that enhances the compression effect by removing the temporal redundancy between successive images during video transmission, and is used in most video compression standards such as MPEG (Motion Picture Experts Group) and H.263. The most commonly used motion estimation technique is a block matching algorithm. The block matching algorithm is a method of dividing an image into blocks of a predetermined size and finding a block that best matches a block of the current image within a search region of a previous image. The position difference between the found block and the current image block is called a motion vector, and is encoded and processed. Various matching functions can be used to calculate the matching between two blocks. The most commonly used is sum of absolute difference (SAD), which is the sum of the absolute values of the difference between pixel values between two blocks.

블록 정합 알고리즘 중 가장 간단한 방법은 전역 탐색법으로서 현재 영상의 블록에 대해 검색 영역 내에 존재하는 모든 검색 위치에서 SAD 값을 계산하여 이 중 가장 작은 SAD 값을 갖는 검색 위치를 찾아내어 움직임 벡터를 구하는 방법이다. 전역 탐색법은 구조가 간단하고 또한 최적의 움직임 벡터를 구해낼 수 있는 방법이지만 계산량이 과도하여 실시간 적용이 어렵다는 단점이 있다. 이와 같은 문제를 해결하기 위하여 SAD 값을 구하는 연산 장치(processing element, PE) 여러 개를 병렬로 연결한 어레이 구조의 움직임 추정 장치를 많이 사용하여 왔다. 하지만 이러한 구조는 많은 수의 연산 장치를 사용함으로써 하드웨어 비용이 커지고 전력 소모가 많아진다는 단점이 있다.The simplest method among the block matching algorithms is the global search method, which calculates the SAD values at all search positions in the search region for the block of the current image, finds the search position having the smallest SAD value, and obtains the motion vector. to be. The global search method has a simple structure and a method for obtaining an optimal motion vector, but has a disadvantage in that real-time application is difficult due to excessive computation. In order to solve this problem, many motion estimation apparatuses having an array structure in which several processing elements (PEs) for calculating SAD values are connected in parallel have been used. However, such a structure has a disadvantage in that hardware cost and power consumption are increased by using a large number of computing devices.

움직임 추정 과정에는 정화소 탐색 외에 반화소 탐색, 인트라/인터 모드 결정 등의 연산들도 거치게 된다. 종래의 움직임 추정 장치들에서는 이러한 정화소 움직임 탐색, 반화소 움직임 탐색, 인트라/인터 모드 결정 과정 등에 사용되는 연산 장치 등을 각기 별도로 구비하여 사용하였다. 이에 따라, 하드웨어 구현 필요한 게이트 수와 전력 소모량이 증가하는 문제점이 있다.In addition to the refinement search, the motion estimation process includes operations such as half-pixel search and intra / inter mode determination. In the conventional motion estimation apparatuses, a computing device used for such a refinement motion search, a half-pixel motion search, an intra / inter mode determination process, and the like are used separately. Accordingly, there is a problem in that the number of gates and power consumption required for hardware implementation are increased.

상기와 같은 문제점을 해결하기 위한 본 발명은, 움직임 추정 과정의 다양한 연산을 모두 한 장치 내에 처리할 수 있어 하드웨어의 수 및 전력 소모량을 감소시킬 수 있는 움직임 추정을 위한 통합 연산 장치를 제공하는데 그 목적이 있다.The present invention for solving the above problems, it is possible to process a variety of operations in the motion estimation process all in one device to provide an integrated operation device for motion estimation that can reduce the number of hardware and power consumption There is this.

도1은 본 발명에 따른 통합 연산 장치의 회로도,1 is a circuit diagram of an integrated computing device according to the present invention;

도2는 반화소 움직임 탐색의 구조도.2 is a structural diagram of half-pixel motion search.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

11, 16: 배타적 논리합 게이트 12: 논리합 게이트11, 16: exclusive OR gate 12: AND gate

13, 18: 가산기13, 18: adder

14, 15: 한 입력이 반전된 논리곱 게이트14, 15: AND gate with one input inverted

17: n+1 비트 레지스터17: n + 1 bit register

상기 목적을 달성하기 위한 본 발명은 정화소 움직임 탐색, 인트라/인터 모드 결정 및 반화소 움직임 탐색 과정을 포함하는 움직임 추정을 위한 통합 연산 장치에 있어서, 제1 화소값을 입력하는 제1 입력단; 제2 화소값을 입력하는 제2 입력단; 감산연산과 가산연산의 구별 신호를 입력하는 제3 입력단; 상기 반화소 움직임 탐색에서 반올림 연산을 위한 입력캐리를 입력하는 제4 입력단; 제5 입력단; 상기 제3 입력단으로부터 입력된 값과 상기 제4 입력단으로부터 입력된 값을 연산하는 논리합 연산 수단; 상기 제2 입력단으로부터 입력된 제2 화소값과 상기 제3 입력단으로부터 입력된 값을 연산하는 제1 배타적 논리합 연산 수단; 상기 제1 입력단으로부터 입력받은 상기 제1 화소값, 상기 논리합 연산수단의 연산결과 및 상기 제1배타적 논리합 수단의 연산결과를 입력받아 가산하는 제1 가산수단; 상기 제1 가산수단 출력의 반전값과 상기 제3 입력단으로부터 입력된 신호를 연산하는 제1 논리곱 연산수단; 상기 제1 가산수단의 연산결과와 상기 제1 논리곱 연산수단의 연산결과를 입력받아 연산하는 제2 배타적 논리합 연산수단; 상기 제2 배타적 논리합 연산수단의 연산결과를 입력받는 레지스터; 상기 제3 입력단으로부터 입력된 신호의 반전값과 상기 제1 가산수단의 연산결과를 연산하여 그 결과를 상기 레지스터의 최상위 비트에 인가하는 제2 논리곱 연산수단; 상기 반화소 움직임 탐색 연산 과정에서 상기 레지스터의 정보를 출력하는 제1 출력단; 상기 제3 입력신호의 반전된 값과 상기 제1 가산수단의 연산결과를 입력받아 연산하고 그 결과를 상기 레지스터의 최상위 비트로 출력하는 제2 논리곱 연산수단; 상기 제5 입력단, 상기 레지스터 및 상기 제1 논리곱 연산수단으로부터 각각 입력된 데이터를 연산하는 제2 가산수단; 및 상기 제2 가산수단의 연산결과를 출력함과 동시에 상기 제5 입력단에 전달하는 제2 출력단을 포함하는 통합 연산 장치를 제공한다.According to an aspect of the present invention, there is provided an integrated computing device for motion estimation including a refiner motion search, an intra / inter mode determination, and a half pixel motion search process, comprising: a first input terminal for inputting a first pixel value; A second input terminal for inputting a second pixel value; A third input terminal for inputting a distinction signal between the subtraction operation and the addition operation; A fourth input terminal for inputting an input carry for a rounding operation in the half-pixel motion search; A fifth input terminal; A logical sum calculating means for calculating a value input from the third input terminal and a value input from the fourth input terminal; First exclusive OR calculation means for calculating a second pixel value input from the second input terminal and a value input from the third input terminal; First adding means for receiving and adding the first pixel value received from the first input terminal, an operation result of the OR operation unit, and an operation result of the first exclusive OR unit; First logical product calculating means for calculating an inverted value of the output of the first adding means and a signal input from the third input terminal; Second exclusive logical sum calculating means for receiving the operation result of the first adding means and the operation result of the first AND product; A register for receiving an operation result of the second exclusive OR operation means; Second logical product calculating means for calculating an inverted value of the signal input from the third input terminal and a calculation result of the first adding means and applying the result to the most significant bit of the register; A first output terminal configured to output information of the register during the half pixel motion search operation; Second logical product calculating means for receiving the inverted value of the third input signal and the operation result of the first adding means and calculating the result, and outputting the result as the most significant bit of the register; Second adding means for calculating data input from the fifth input terminal, the register and the first AND product; And a second output stage for outputting the arithmetic result of the second adding means and transmitting the result to the fifth input terminal.

움직임 추정에서 정화소 탐색 외에 반화소 탐색, 인트라/인터 모드 결정 등의 각각의 연산 과정들은 그 속성 상 병렬로 수행될 수 없고 순차적으로 진행된다 본 발명은 이러한 특성을 이용하여 움직임 추정에서 정화소 탐색 외에 반화소 탐색, 인트라/인터 모드 결정 등의 각 연산 과정들을 모두 처리할 수 있는 통합 연산장치를 제공한다. 본 발명에 따라 하드웨어 구현에 필요한 게이트 수와 전력 소모량을 크게 줄일 수 있다. 본 발명에 따른 통합 연산 장치는 다양한 연산들을 수행하는 동시에 그 복잡도는 종래의 움직임 추정 장치에서 정화소 탐색용으로 쓰이는 단일 용도의 연산 장치와 비교하여 거의 증가되지 않을 수 있다.In addition to the refinement search in motion estimation, each computational process such as half-pixel search and intra / inter mode determination cannot be performed in parallel due to its nature. The present invention provides an integrated arithmetic unit capable of processing all the computational processes such as pixel search and intra / inter mode determination. According to the present invention, the number of gates and power consumption required for hardware implementation can be greatly reduced. The integrated computing device according to the present invention performs various operations while the complexity thereof may be hardly increased as compared to the single use computing device used for the refinery search in the conventional motion estimation device.

이하, 본 발명에 따른 움직임 추정을 위한 통합 연산 장치의 구성 및 작용을 상세히 설명한다.Hereinafter, the configuration and operation of the integrated computing device for motion estimation according to the present invention will be described in detail.

먼저, 움직임 추정 과정에서 사용되는 각종 연산 과정들을 살펴보면 다음과 같다. 이하의 설명에서는 예로서 16 ×16 크기의 매크로 블록을 고려하기로 한다.First, the various calculation processes used in the motion estimation process are as follows. In the following description, a 16 × 16 macroblock is considered as an example.

정화소 움직임 탐색 단계에서는 다음의 수학식1에 보이는 바와 같이 SAD 계산, 즉 두 화소값의 차의 절대값을 구하고 그 값을 누적하는 연산을 수행한다.In the refinement motion search step, as shown in Equation 1, SAD calculation, that is, an operation of obtaining an absolute value of a difference between two pixel values and accumulating the values.

인트라/인터 모드 결정 단계에서는 다음의 수학식2와 같이 기준 블록의 화소값을 모두 더하고 화소 수로 나누어 평균 화소값(MBmean)을 구한 뒤, 수학식3과 같이 기준 블록의 각 화소값과 이 평균 화소값 사이의 누적 절대 오차(A)를 구하는 SAD 연산을 수행한다.In the intra / inter mode determination step, as shown in Equation 2, all pixel values of the reference block are added and divided by the number of pixels to obtain an average pixel value (MB mean ). A SAD operation is performed to find the cumulative absolute error A between pixel values.

반화소 움직임 탐색 단계에서는 도2와 같이 정화소값 A, B, C, D로부터 반화소값 a, b, c, d 를 구하기 위하여 다음의 수학식4와 같은 연산을 수행한다.In the half pixel motion search step, an operation as shown in Equation 4 is performed to obtain the half pixel values a, b, c, and d from the refiner values A, B, C, and D as shown in FIG.

도1은 이상에서 기술한 정화소 움직임 탐색, 반화소 움직임 탐색 및 인트라/인터 모드 결정 등의 연산을 단일한 장치 내에서 수행하기 위한 통합 연산 장치의 회로도로서, 5개의 입력단(X, Y, Z, S, C), 2 개의 출력단(OUT1, OUT2), 2개의 가산기(13, 18), 논리합 게이트(12), 2개의 배타적 논리합 게이트(11, 16), 한 입력이 반전된 2 개의 논리곱 게이트(14, 15), 레지스터(17)를 포함하는 통합연산장치의 구성을 보이고 있다.1 is a circuit diagram of an integrated arithmetic unit for performing arithmetic operations such as a refiner motion search, a half-pixel motion search, and intra / inter mode determination described above in a single device. S, C), two output stages (OUT1, OUT2), two adders (13, 18), OR gates (12), two exclusive OR gates (11, 16), two AND gates with one input inverted 14 and 15 show a configuration of an integrated computing device including a register 17.

제1 입력단(X)은 정화소 움직임 탐색, 인트라/인터 모드 결정을 위한 평균화소값 연산 및 인트라/인터 모드 결정 각각의 연산 과정에서 기준블록 화소값을 입력하고, 반화소 움직임 탐색 연산 과정에서 제1 정화소 값을 입력한다.The first input terminal (X) inputs a reference block pixel value in each of the refinement motion search, the average pixel value calculation for intra / inter mode determination, and the intra / inter mode decision, and the first pixel in the half pixel motion search operation. Enter the septic value.

제2 입력단(Y)은 정화소 움직임 탐색시 탐색영역 화소값을 입력하고, 인트라/인터 모드 결정을 위한 평균화소값 연산시 기준블록 화소값을 입력하고, 인트라/인터 모드 결정시 상기 평균화소값을 입력하고, 반화소 움직임 탐색 연산 과정에서 제2 정화소 값을 입력한다.The second input terminal Y inputs a search region pixel value when searching for a refinement motion, inputs a reference block pixel value when calculating an average pixel value for intra / inter mode determination, and inputs the average pixel value when determining an intra / inter mode. The second refiner value is input during the half pixel motion search operation.

제3 입력단(S)은 감산연산과 가산연산을 구별하기 위하여 가산연산시 신호 '0'을 입력하고, 감산연산시 신호 '1'을 입력한다.The third input terminal S inputs a signal '0' during the addition operation and a signal '1' during the subtraction operation to distinguish the subtraction operation from the addition operation.

제4 입력단(C)은 반화소 움직임 탐색에서 반올림 연산을 위한 입력캐리를 인가하는 것으로서, 반화소 움직임 탐색의 경우를 제외한 모든 연산에서 데이터 '0'을 입력한다.The fourth input terminal C applies an input carry for a rounding operation in the half-pixel motion search, and inputs data '0' in all operations except for the half-pixel motion search.

제5 입력단(Z)은 제2 가산기(18)의 출력을 궤환받아 입력한다.The fifth input terminal Z receives the output of the second adder 18 and inputs it.

논리합 게이트(12)는 제3 입력단(S)으로부터 입력된 값과 상기 제4 입력단(C)으로부터 입력된 값을 연산하여, 감산연산 또는 반화소 움직임 추정의 가산연산 조건에서 제1 가산기(13)에 입력캐리 1을 인가한다.The OR gate 12 calculates a value input from the third input terminal S and a value input from the fourth input terminal C, so that the first adder 13 may be applied under subtraction conditions of subtraction operation or half-pixel motion estimation. Apply input 1 to.

제1 배타적 논리합 게이트(11)는 제2 입력단(Y)으로부터 입력된 화소값과 제3 입력단(S)으로부터 입력된 값을 배타적 논리합 한다.The first exclusive OR gate 11 performs an exclusive OR on the pixel value input from the second input terminal Y and the value input from the third input terminal S. FIG.

제1 가산기(13)는 제1 입력단(X)으로부터 입력받은 화소값, 논리합 게이트(12)의 연산결과 및 상기 제1 배타적 논리합 게이트(11)의 연산결과를 입력받아 가산한다.The first adder 13 receives and adds a pixel value input from the first input terminal X, an operation result of the OR gate 12, and an operation result of the first exclusive OR gate 11.

제1 논리곱 게이트(15)는 제1 가산기(13) 출력의 반전값과 제3 입력단(S)으로부터 입력된 신호를 논리곱 한다. 제1 논리곱 게이트(15)는 제3 입력단(S)으로부터 감산연산 신호가 입력되고, 제1 가산기(13)의 출력캐리가 0인 조건에서 상기 제2 가산기(18)에 입력캐리 1을 인가한다.The first AND gate 15 performs an AND on the inverted value of the output of the first adder 13 and the signal input from the third input terminal S. In the first AND gate 15, a subtraction operation signal is input from the third input terminal S, and the input carry 1 is applied to the second adder 18 under the condition that the output carry of the first adder 13 is zero. do.

제2 배타적 논리합 게이트(16)는 제1 가산기(13)의 연산결과와 제1 논리곱게이트(15)의 연산결과를 배타적 논리합 한다.The second exclusive AND gate 16 performs an exclusive OR on the operation result of the first adder 13 and the operation result of the first AND gate 15.

제2 논리곱 게이트(14)는 제3 입력단(S) 신호의 반전값과 제1 가산기(13)의 연산결과를 입력받아 연산하고 그 연산결과를 레지스터(17)의 최상위 비트(most significant bit, MSB)로 출력한다. 제2 논리곱 게이트(14)는 제3 입력단(S)을 통하여 가산 연산 신호가 입력되고 제1 가산기(13)의 출력캐리가 1인 조건에서 레지스터(17)의 최상위 비트(MSB)에 1을 인가한다.The second AND gate 14 receives and operates an inverted value of the third input terminal S signal and an operation result of the first adder 13, and computes the operation result of the most significant bit of the register 17. MSB). The second AND gate 14 has 1 added to the most significant bit MSB of the register 17 under the condition that an add operation signal is input through the third input terminal S and the output carry of the first adder 13 is 1. Is authorized.

레지스터(17)는 제2 논리곱 게이트(14) 및 제2 배타적 논리합 게이트(16)의 연산결과를 입력받고, 반화소 움직임 추정 연산 과정에서 레지스터(17)에 저장된 정보는 제1 출력단(OUT1)에 전달된다.The register 17 receives the operation results of the second AND gate 14 and the second exclusive OR gate 16, and the information stored in the register 17 during the half-pixel motion estimation operation is stored in the first output terminal OUT1. Is passed on.

제2 가산기는 제5 입력단(Z) 및 레지스터(17)로부터 입력받은 값을 가산하고, 그 결과는 제2 출력단으로 출력된다.The second adder adds values input from the fifth input terminal Z and the register 17, and the result is output to the second output terminal.

이제 움직임 추정의 각 단계 별로 사용되는 통합 연산 장치의 입출력들을 살펴보면 다음과 같다.Now, the input and output of the integrated computing device used for each step of the motion estimation are as follows.

먼저, 정화소 움직임 탐색 단계에서는 상기 수학식1의 SAD 연산을 수행하기 위하여 입력값을 다음과 같이 넣는다. 즉 제1 입력단(X)에는 기준 블록 화소값, 제2 입력단(Y)에는 탐색영역 화소값, 제3 입력단(Z)에는 제2 출력단(OUT2)으로부터 입력된 이전 화소값, 제4 입력단(S)에는 감산연산이므로 '1', 제5 입력에는 '0'을 입력한다. 정화소 움직임 추정 단계에서 제1 출력단(OUT1)은 사용되지 않고, 제2 출력단(OUT2 )으로 SAD 값이 출력된다.First, in the refinery motion search step, an input value is inserted as follows to perform the SAD operation of Equation 1 above. That is, the reference block pixel value is input to the first input terminal X, the search pixel value of the second input terminal Y, the previous pixel value input from the second output terminal OUT2 to the third input terminal Z, and the fourth input terminal S. ), '1' and '0' for the fifth input. In the refinery motion estimation step, the first output terminal OUT1 is not used, and the SAD value is output to the second output terminal OUT2.

인트라/인터 모드 결정 단계에서는 2가지 연산 즉, 평균 화소값을 구하기 위한 가산 연산과 SAD 연산이 수행된다.In the intra / inter mode determination step, two operations are performed, namely, an addition operation and an SAD operation for obtaining an average pixel value.

수학식2와 같이 평균 화소값을 구하기 위해서는 제1 입력단(X) 및 제2 입력단(Y) 각각에는 기준블록 화소값을 입력하고, 제3 입력단(Z)에는 제2 출력단(OUT2)의 출력값, 제4 입력단(S)과 제5 입력에는 각각 '0'을 입력한다. 이때에도 제1 출력단(OUT1)은 사용되지 않고, 제2 출력단(OUT2)으로 기준블록 화소값의 누적합이 출력된다.To obtain the average pixel value as shown in Equation 2, the reference block pixel value is input to each of the first input terminal X and the second input terminal Y, and the output value of the second output terminal OUT2 is input to the third input terminal Z. '0' is respectively input to the fourth input terminal S and the fifth input. In this case, the first output terminal OUT1 is not used, but the cumulative sum of the reference block pixel values is output to the second output terminal OUT2.

이때, 제1 입력단(X) 및 제2 입력단(Y)으로 두 개의 화소값이 동시에 입력되어 더해지므로, 기준 블록의 화소 수가 256개일 경우 128번의 연산만 수행하면 된다. 수학식2에서 더해진 합을 256으로 나누는 연산은 도1의 제2 출력단(OUT2)에서 상위 8비트만 취함으로써 구현될 수 있다.In this case, since two pixel values are simultaneously input to the first input terminal X and the second input terminal Y, only 128 operations may be performed when the number of pixels of the reference block is 256. An operation of dividing the sum added by Equation 2 by 256 may be implemented by taking only the upper 8 bits of the second output terminal OUT2 of FIG. 1.

다음 수학식3의 연산은 정화소 움직임 추정의 SAD 연산과 유사하다. 즉, 즉 제1 입력단(X)에는 기준블록 화소값, 제2 입력단(X)에는 평균 화소값(MB_mean), 제3 입력단(Z)에는 제2 출력단(OUT2)의 출력값, 제4 입력단(S)에는 감산연산이므로 '1', 제5 입력에는 '0'을 입력한다. 이때에도 제1 출력단(OUT1)은 사용되지 않고, 제2 출력단(OUT2 )으로 기준블록 화소값과 평균 화소값 간의 SAD 값이 출력된다.The operation of Equation 3 is similar to the SAD operation of the refinery motion estimation. That is, the reference block pixel value at the first input terminal X, the average pixel value MB_mean at the second input terminal X, the output value of the second output terminal OUT2 at the third input terminal Z, and the fourth input terminal S. ), '1' and '0' for the fifth input. In this case, the first output terminal OUT1 is not used, and the SAD value between the reference block pixel value and the average pixel value is output to the second output terminal OUT2.

반화소 움직임 탐색은 도2 및 다음의 표1을 참조하여 설명한다. 다음의 표1은 도1과 같은 통합 연산 장치를 이용하여 도2와 같이 정화소 A, B, C, D 중의 한 정화소 'A' 주위의 네 개의 반화소 'a', 'b', 'c', 'd' 값을 구하는 과정을 보이고있다.The half-pixel motion search will be described with reference to FIG. 2 and Table 1 below. Table 1 shows four half-pixels 'a', 'b', and 'c' around one of the refineries A, B, C, and D, using the integrated computing device shown in FIG. , shows the process of getting the 'd' value.

이 과정은 세 번의 연산을 거쳐 수행되는데 상기 표1의 OUT1(1), OUT1(2), OUT2(3)의 값으로부터 반화소 b, c, d의 값들을 각각 구할 수 있다. 상기 수학식 4에서의 2 또는 4로 나누는 과정은 해당 출력 데이터에서 하위 1 혹은 2 비트를 제외하고 택하거나 아니면 외부에서 별도로 쉬프트 연산을 수행함으로써 구현할 수 있다.This process is performed through three operations. The values of half pixels b, c, and d can be obtained from the values of OUT1 (1), OUT1 (2), and OUT2 (3) of Table 1, respectively. The process of dividing by 2 or 4 in Equation 4 may be implemented by selecting the lower 1 or 2 bits from the corresponding output data or by performing a shift operation separately from the outside.

이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes can be made in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary knowledge.

상기와 같이 이루어지는 본 발명에 따라 하나의 단일한 통합 연산 장치를 사용하여 움직임 추정에 사용되는 다양한 연산들을 수행할 수 있게 된다. 따라서, 여러 가지 연산 장치들을 사용하는 종래의 움직임 추정 장치에 비해서 하드웨어 칩의게이트의 수와 크기를 줄일 수 있고, 전력 소모 또한 감소시키는 효과를 얻을 수 있다. 특히 저전송율을 필요로 하는 동영상 압축의 경우 최근 전역 탐색법 대신 고속 탐색법들을 많이 사용하고 있는데, 이 경우 SAD 계산량이 크게 줄어들게 된다. 따라서, 최근 개발되고 있는 프로세서의 속도를 감안한다면 종래와 같이 다수 개의 연산 장치 어레이를 사용하지 않고 응용 분야에 따라서는 본 발명과 같이 하나의 연산 장치만을 사용할 수 있다.According to the present invention made as described above it is possible to perform a variety of operations used for motion estimation using a single integrated computing device. Therefore, the number and size of gates of the hardware chip can be reduced and power consumption can be reduced as compared with the conventional motion estimation apparatus using various computing devices. In particular, video compression, which requires low data rates, has recently used fast search methods instead of global search methods. In this case, the SAD calculation amount is greatly reduced. Therefore, in view of the speed of a recently developed processor, only one computing device may be used as in the present invention according to an application field without using a plurality of arrays of computing devices as in the related art.

Claims (3)

정화소 움직임 탐색, 인트라/인터 모드 결정 및 반화소 움직임 탐색 과정을 포함하는 움직임 추정을 위한 통합 연산 장치에 있어서,In the integrated computing device for motion estimation including a refiner motion search, intra / inter mode determination and half-pixel motion search process, 제1 화소값을 입력하는 제1 입력단;A first input terminal for inputting a first pixel value; 제2 화소값을 입력하는 제2 입력단;A second input terminal for inputting a second pixel value; 감산연산과 가산연산의 구별 신호를 입력하는 제3 입력단;A third input terminal for inputting a distinction signal between the subtraction operation and the addition operation; 상기 반화소 움직임 탐색에서 반올림 연산을 위한 입력캐리를 입력하는 제4 입력단;A fourth input terminal for inputting an input carry for a rounding operation in the half-pixel motion search; 제5 입력단;A fifth input terminal; 상기 제3 입력단으로부터 입력된 값과 상기 제4 입력단으로부터 입력된 값을 연산하는 논리합 연산 수단;A logical sum calculating means for calculating a value input from the third input terminal and a value input from the fourth input terminal; 상기 제2 입력단으로부터 입력된 제2 화소값과 상기 제3 입력단으로부터 입력된 값을 연산하는 제1 배타적 논리합 연산 수단;First exclusive OR calculation means for calculating a second pixel value input from the second input terminal and a value input from the third input terminal; 상기 제1 입력단으로부터 입력받은 상기 제1 화소값, 상기 논리합 연산수단의 연산결과 및 상기 제1 배타적 논리합 수단의 연산결과를 입력받아 가산하는 제1 가산수단;First adding means for receiving and adding the first pixel value received from the first input terminal, an operation result of the OR operation unit, and an operation result of the first exclusive OR unit; 상기 제1 가산수단 출력의 반전값과 상기 제3 입력단으로부터 입력된 신호를 연산하는 제1 논리곱 연산수단;First logical product calculating means for calculating an inverted value of the output of the first adding means and a signal input from the third input terminal; 상기 제1 가산수단의 연산결과와 상기 제1 논리곱 연산수단의 연산결과를 입력받아 연산하는 제2 배타적 논리합 연산수단;Second exclusive logical sum calculating means for receiving the operation result of the first adding means and the operation result of the first AND product; 상기 제2 배타적 논리합 연산수단의 연산결과를 입력받는 레지스터;A register for receiving an operation result of the second exclusive OR operation means; 상기 제3 입력단으로부터 입력된 신호의 반전값과 상기 제1 가산수단의 연산결과를 연산하여 그 결과를 상기 레지스터의 최상위 비트에 인가하는 제2 논리곱 연산수단;Second logical product calculating means for calculating an inverted value of the signal input from the third input terminal and a calculation result of the first adding means and applying the result to the most significant bit of the register; 상기 반화소 움직임 탐색 연산 과정에서 상기 레지스터의 정보를 출력하는 제1 출력단;A first output terminal configured to output information of the register during the half pixel motion search operation; 상기 제3 입력신호의 반전된 값과 상기 제1 가산수단의 연산결과를 입력받아 연산하고 그 결과를 상기 레지스터의 최상위 비트로 출력하는 제2 논리곱 연산수단;Second logical product calculating means for receiving the inverted value of the third input signal and the operation result of the first adding means and calculating the result, and outputting the result as the most significant bit of the register; 상기 제5 입력단, 상기 레지스터 및 상기 제1 논리곱 연산수단으로부터 각각 입력된 데이터를 연산하는 제2 가산수단; 및Second adding means for calculating data input from the fifth input terminal, the register and the first AND product; And 상기 제2 가산수단의 연산결과를 출력함과 동시에 상기 제5 입력단에 전달하는 제2 출력단A second output stage for outputting the calculation result of the second adding means and transferring the result to the fifth input terminal; 을 포함하는 통합 연산 장치.Integrated computing device comprising a. 제 1 항에 있어서,The method of claim 1, 상기 제3 입력단은 가산연산시 신호 '0'을 입력하고, 감산연산시 신호 '1'을 입력하고,The third input terminal inputs a signal '0' during the addition operation, a signal '1' during the subtraction operation, 상기 제4 입력단은 상기 반화소 움직임 탐색의 경우를 제외한 모든 연산에서 신호 '0'을 입력하고,The fourth input terminal is the half-pixel motion search If In all operations except input signal '0', 상기 논리합 연산수단은, 감산연산 또는 반화소 움직임 탐색 조건에서 상기 제1 가산수단에 입력캐리 1을 인가하고,The OR operation means applies an input carry 1 to the first addition means under a subtraction operation or a half pixel motion search condition, 상기 제1 논리곱 연산수단은, 감산연산이고 상기 제1 가산수단의 출력캐리가 0인 조건에서 상기 제2 가산수단에 입력캐리 1을 인가하고,The first logical product calculating means applies an input carry 1 to the second adding means under the condition of being a subtraction operation and the output carry of the first adding means is zero, 상기 제2 논리곱 연산수단은, 가산연산이고 상기 제1 가산수단의 출력캐리가 1인 조건에서 상기 레지스터의 최상위 비트에 1을 인가하는 것을 특징으로 하는 통합 연산 장치.And said second logical product calculating means applies a 1 to the most significant bit of said register under the condition that it is an addition operation and the output carry of said first adding means is one. 제 1 항 또는 제 2 항 있어서,The method according to claim 1 or 2, 상기 제1 입력단은 상기 정화소 움직임 탐색, 상기 인트라/인터 모드 결정을 위한 평균화소값 연산, 상기 인트라/인터 모드 결정 각각의 연산 과정에서 기준블록 화소값을 입력하고, 상기 반화소 움직임 탐색 연산 과정에서 제1 정화소 값을 입력하고, 상기 제2 입력단은 상기 정화소 움직임 탐색시 탐색영역 화소값을 입력하고, 상기 인트라/인터 모드 결정을 위한 평균화소값 연산시 기준블록 화소값을 입력하고, 상기 인트라/인터 모드 결정시 상기 평균화소값을 입력하고, 상기 반화소 움직임 탐색 연산 과정에서 제2 정화소 값을 입력하는 것을 특징으로 하는 통합 연산 장치.The first input terminal inputs a reference block pixel value in each of the refinement motion search, the average pixel value calculation for the intra / inter mode determination, and the intra / inter mode decision, and the half pixel motion search operation. Inputs a first refinement value, the second input inputs a search region pixel value when searching for the refinement motion, inputs a reference block pixel value when calculating an average pixel value for determining the intra / inter mode, and inputs the intra / The average pixel value is input when the inter mode is determined, and a second refiner value is input during the half-pixel motion search operation.
KR1019990061894A 1999-12-24 1999-12-24 Unified Processing Element for Motion Estimation KR100315420B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990061894A KR100315420B1 (en) 1999-12-24 1999-12-24 Unified Processing Element for Motion Estimation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990061894A KR100315420B1 (en) 1999-12-24 1999-12-24 Unified Processing Element for Motion Estimation

Publications (2)

Publication Number Publication Date
KR20010063800A KR20010063800A (en) 2001-07-09
KR100315420B1 true KR100315420B1 (en) 2001-11-28

Family

ID=19629457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990061894A KR100315420B1 (en) 1999-12-24 1999-12-24 Unified Processing Element for Motion Estimation

Country Status (1)

Country Link
KR (1) KR100315420B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990054869A (en) * 1997-12-26 1999-07-15 정선종 Half Pixel Motion Predictor For Video Signal Processing
US5990962A (en) * 1994-06-30 1999-11-23 Kabushiki Kaisha Toshiba Video preprocessing device with motion compensation prediction processing similar to that of a main prediction processing device
KR100275694B1 (en) * 1998-03-02 2000-12-15 윤덕용 Hierarchical search block matching method by using multiple motion vector candidates
KR100274014B1 (en) * 1998-03-19 2000-12-15 대표이사 서승모 A extractor of half pixel motion vector for mpeg2
KR100292355B1 (en) * 1998-09-01 2001-07-12 윤종용 Motion vector esitmation method and apparatus in image processing system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990962A (en) * 1994-06-30 1999-11-23 Kabushiki Kaisha Toshiba Video preprocessing device with motion compensation prediction processing similar to that of a main prediction processing device
KR19990054869A (en) * 1997-12-26 1999-07-15 정선종 Half Pixel Motion Predictor For Video Signal Processing
KR100275694B1 (en) * 1998-03-02 2000-12-15 윤덕용 Hierarchical search block matching method by using multiple motion vector candidates
KR100274014B1 (en) * 1998-03-19 2000-12-15 대표이사 서승모 A extractor of half pixel motion vector for mpeg2
KR100292355B1 (en) * 1998-09-01 2001-07-12 윤종용 Motion vector esitmation method and apparatus in image processing system

Also Published As

Publication number Publication date
KR20010063800A (en) 2001-07-09

Similar Documents

Publication Publication Date Title
Lai et al. A data-interlacing architecture with two-dimensional data-reuse for full-search block-matching algorithm
US7782957B2 (en) Motion estimation circuit and operating method thereof
JPH08140094A (en) Motion vector search device
US6687299B2 (en) Motion estimation method and apparatus for interrupting computation which is determined not to provide solution
US7804900B2 (en) Method for fast SATD estimation
US20060285597A1 (en) Reusing interpolated values in advanced video encoders
KR100860690B1 (en) Method and Apparatus of Motion Search for Reducing Access to External Memory
JP3401823B2 (en) Processor for image codec
KR100315420B1 (en) Unified Processing Element for Motion Estimation
KR100413770B1 (en) A circuit and method for full search block matching
US5838392A (en) Adaptive block-matching motion estimator with a compression array for use in a video coding system
Kovačević et al. Block-matching correlation motion estimation for frame-rate up-conversion
US6594396B1 (en) Adaptive difference computing element and motion estimation apparatus dynamically adapting to input data
US20050131979A1 (en) Apparatus for calculating absolute difference value, and motion estimation apparatus and motion picture encoding apparatus which use the apparatus for calculating the absolute difference value
CN112422976B (en) Brightness component motion compensation method in video coding standard and video coding method
Hanssens et al. Parallel processor for motion estimation
US6968011B2 (en) Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
Lai et al. VLSI implementation of the motion estimator with two-dimensional data-reuse
JP2885039B2 (en) Motion vector detection circuit
KR0168136B1 (en) Processing element device for moving estimation chip
KR100431354B1 (en) The multiplier circuit
KR0178890B1 (en) Input data control circuit for moving estimation process
Ghosh et al. A fast VLSI architecture of a hierarchical block matching algorithm for motion estimation
Le et al. Computational RAM implementation of MPEG-2 for real-time encoding
Shah Oveisi et al. A power-efficient approximate approach to improve the computational complexity of coding tools in versatile video coding

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: 20071024

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee