KR100315420B1 - Unified Processing Element for Motion Estimation - Google Patents
Unified Processing Element for Motion Estimation Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 240000006829 Ficus sundaica Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex 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
본 발명은 디스플레이 소자 제조 분야에 관한 것으로, 특히 동영상 압축에 사용되는 움직임 추정을 위한 연산장치에 관한 것이다.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)
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)
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 |
-
1999
- 1999-12-24 KR KR1019990061894A patent/KR100315420B1/en not_active IP Right Cessation
Patent Citations (5)
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 |