KR20020006163A - Apparatus for shared systolic array for hierarchical motion searching in video encoder - Google Patents
Apparatus for shared systolic array for hierarchical motion searching in video encoder Download PDFInfo
- Publication number
- KR20020006163A KR20020006163A KR1020000039653A KR20000039653A KR20020006163A KR 20020006163 A KR20020006163 A KR 20020006163A KR 1020000039653 A KR1020000039653 A KR 1020000039653A KR 20000039653 A KR20000039653 A KR 20000039653A KR 20020006163 A KR20020006163 A KR 20020006163A
- Authority
- KR
- South Korea
- Prior art keywords
- systolic array
- search
- area memory
- shared
- hierarchical
- Prior art date
Links
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/42—Methods 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/43—Hardware specially adapted for motion estimation or compensation
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명은 비디오 부호화기의 공유 시스톨릭 어레이 장치에 관한 것으로, 특히 비디오 부호화기의 움직임 탐색 과정에서 계층적 탐색방법으로 움직임 탐색을 수행하고자 할 때, 각 계층별로 동일한 구조를 사용함으로써 하드웨어의 복잡도를 줄이기에 적당하도록 한 비디오 부호화기의 계층적 움직임 탐색을 위한 공유 시스톨릭 어레이 장치에 관한 것이다.The present invention relates to a shared systolic array device of a video encoder. In particular, when a motion search is performed by a hierarchical search method in a motion search process of a video encoder, the complexity of hardware is reduced by using the same structure for each layer. A shared systolic array device for hierarchical motion search of a video encoder that is suitably adapted.
일반적으로 비디오 부호화기는 아날로그 영상신호를 디지털 부호로 변환시키는 장치이다.In general, a video encoder is a device for converting an analog video signal into a digital code.
이러한 비디오 부호화기에서 움직임 탐색 장치는 가장 많은 연산을 수행하는 장치이다.In such a video encoder, a motion searching device is a device that performs most operations.
이를 수행하기 위한 종래의 방법은 시스톨릭 어레이를 이용하여 전영역을 탐색하는 것이다.The conventional method for doing this is to search the entire area using a systolic array.
그러나 이러한 방법은 전영역을 탐색하기 때문에 많은 수행 시간이 소요된다는 단점이 있었다.However, this method has a disadvantage in that it takes a lot of execution time because it searches the entire area.
또한 종래의 기술 중 계층적 움직임 탐색 방법은 전영역 탐색방법의 속도를 향상시킨 방법이다.In addition, the hierarchical motion search method of the prior art is a method of improving the speed of the full-domain search method.
이러한 계층적 움직임 탐색 방법은 영상의 크기를 줄여서 움직임 탐색을 수행한 다음 여기서 구한 움직임 벡터를 초기 벡터로 설정하여 원래 크기의 영상에 움직임 탐색을 수행하는 것이다.The hierarchical motion search method is to perform motion search by reducing the size of the image, and then perform motion search on the original size image by setting the motion vector obtained here as an initial vector.
이렇게 수행할 경우 전영역 탐색 방법과 비슷한 성능을 나타내면서도 연산량을 크게 줄일 수 있게 된다.In this way, we can achieve a similar performance as the full range search method, while reducing the amount of computation.
그러나 계층적 움직임 탐색 방법의 경우에도 하드웨어로 구현하였을 경우 영상의 크기가 각 계층별로 다르기 때문에 시스톨릭 어레이의 크기를 다르게 구성해야만 하는 문제점이 있었다.However, even in the case of the hierarchical motion searching method, when the hardware is implemented, the size of the systolic array has to be configured differently because the size of the image is different for each layer.
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 비디오 부호화기의 움직임 탐색 과정에서 계층적 탐색방법으로 움직임 탐색을 수행하고자 할 때, 각 계층별로 동일한 구조를 사용함으로써 하드웨어의 복잡도를 줄일 수 있는 비디오 부호화기의 계층적 움직임 탐색을 위한 공유 시스톨릭 어레이 장치를 제공하는 데 있다.Accordingly, the present invention has been proposed to solve the conventional problems as described above, and an object of the present invention is to provide the same structure for each layer when performing a motion search using a hierarchical search method in a motion search process of a video encoder. The present invention provides a shared systolic array device for hierarchical motion search of a video encoder which can reduce hardware complexity.
상기와 같은 목적을 달성하기 위하여 본 발명의 일실시예에 의한 비디오 부호화기의 계층적 움직임 탐색을 위한 공유 시스톨릭 어레이 장치는,In order to achieve the above object, a shared systolic array device for hierarchical motion search of a video encoder according to an embodiment of the present invention,
기준영역의 데이터를 저장하는 기준영역 메모리와; 탐색영역의 데이터를 저장하는 탐색영역 메모리와; 상기 기준영역 메모리와 상기 탐색영역 메모리에 저장된 데이터를 입력받아, 동일한 시스톨릭 어레이를 여러 계층에서 공유하도록 탐색할 블록을 부분블록으로 분할하여 계층적 움직임 탐색을 수행하는 시스톨릭 어레이부와; 상기 시스톨릭 어레이부의 출력을 누산하는 누산부와; 상기 누산부의 출력에서 최소벡터를 검출하여 출력하는 최소벡터 검출부로 이루어짐을 그 기술적 구성상의 특징으로 한다.A reference area memory for storing data of the reference area; A search area memory for storing data of the search area; A systolic array unit which receives the data stored in the reference area memory and the search area memory, and performs hierarchical motion search by dividing a block to be searched to share the same systolic array in multiple layers into partial blocks; An accumulator for accumulating the output of the systolic array; The technical configuration is characterized by consisting of a minimum vector detector for detecting and outputting the minimum vector from the output of the accumulator.
도 1은 본 발명에 의한 비디오 부호화기의 계층적 움직임 탐색을 위한 공유 시스톨릭 어레이 장치의 블록구성도이고,1 is a block diagram of a shared systolic array device for hierarchical motion search of a video encoder according to the present invention;
도 2는 도 1에서 시스톨릭 어레이부의 상세블록도이며,FIG. 2 is a detailed block diagram of a systolic array unit in FIG. 1;
도 3은 도 2의 시스톨릭 어레이부의 데이터 입력 순서를 보인 도면이고,3 is a diagram illustrating a data input order of the systolic array of FIG. 2;
도 4는 도 2에서 탐색영역 메모리의 분할을 보인 도면이다.FIG. 4 is a diagram illustrating division of a search region memory in FIG. 2.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
10 : 기준영역 메모리 20 : 탐색영역 메모리10: reference area memory 20: search area memory
30 : 시스톨릭 어레이부 40 : 누산부30: systolic array part 40: accumulator part
50 : 최소벡터 검출부50: minimum vector detection unit
이하, 상기와 같은 본 발명 비디오 부호화기의 계층적 움직임 탐색을 위한 공유 시스톨릭(Systolic) 어레이 장치의 기술적 사상에 따른 일실시예를 첨부한 도면에 의거 설명하면 다음과 같다.Hereinafter, an embodiment according to a technical concept of a shared systolic array device for hierarchical motion search of the video encoder according to the present invention will be described with reference to the accompanying drawings.
먼저 본 발명은 비디오 부호화기의 움직임 탐색 과정에서 계층적 탐색방법으로 움직임 탐색을 수행하고자 할 때, 각 계층별로 동일한 구조를 사용하여 하드웨어의 복잡도를 줄일 수 있게 한다. 이는 영상의 크기를 줄여서 움직임 탐색을 수행한 후 여기서 구한 움직임 벡터를 초기 벡터로 설정하여 원래 크기의 영상에 움직임 탐색을 수행하는 것이다.First of all, the present invention can reduce the complexity of hardware by using the same structure for each layer when performing the motion search by the hierarchical search method in the motion search process of the video encoder. This is to perform the motion search by reducing the size of the image and then set the motion vector obtained here as the initial vector to perform the motion search on the image of the original size.
그래서 움직임 탐색 장치를 하드웨어로 구현할 때에는 블록의 크기와 탐색범위에 대해 시스톨릭 어레이의 크기가 결정되며, 계층적 탐색 방법의 경우 각 계층별로 블록의 크기가 달라지기 때문에 동일한 하드웨어를 사용할 수 없다. 따라서 데이터의 입력 순서를 변경하고 시스톨릭 어레이의 누산기의 동작을 변경시킴으로써 동일한 장치로 모든 계층을 탐색하도록 한다.Therefore, when implementing the motion search apparatus in hardware, the size of the systolic array is determined for the size of the block and the search range, and in the case of the hierarchical search method, the same hardware cannot be used because the size of the block is different for each layer. Thus, by changing the order of data input and changing the behavior of the accumulator in the systolic array, all layers are searched with the same device.
도 1은 본 발명에 의한 비디오 부호화기의 계층적 움직임 탐색을 위한 공유 시스톨릭 어레이 장치의 블록구성도이다.1 is a block diagram of a shared systolic array device for hierarchical motion search of a video encoder according to the present invention.
이에 도시된 바와 같이, 기준영역의 데이터를 저장하는 기준영역 메모리(10)와; 탐색영역의 데이터를 저장하는 탐색영역 메모리(20)와; 상기 기준영역 메모리(10)와 상기 탐색영역 메모리(20)에 저장된 데이터를 입력받아, 동일한 시스톨릭 어레이를 여러 계층에서 공유하도록 탐색할 블록을 부분블록으로 분할하여 계층적 움직임 탐색을 수행하는 시스톨릭 어레이부(30)와; 상기 시스톨릭어레이부(30)의 출력을 누산하는 누산부(60)와; 상기 누산부(60)의 출력에서 최소벡터를 검출하여 출력하는 최소벡터 검출부(70)로 구성된다.As shown therein, a reference area memory 10 for storing data of the reference area; A search area memory 20 for storing data of the search area; Systolic which receives data stored in the reference area memory 10 and the search area memory 20, divides a block to be searched so as to share the same systolic array in multiple layers, and performs hierarchical motion search by sub-blocks. An array unit 30; An accumulator 60 accumulating the output of the systolic array 30; The minimum vector detector 70 detects and outputs the minimum vector from the output of the accumulator 60.
도 2는 도 1에서 시스톨릭 어레이부의 상세블록도이다.FIG. 2 is a detailed block diagram of a systolic array unit in FIG. 1.
이에 도시된 바와 같이, 상기 기준영역 메모리(10)와 상기 탐색영역 메모리(20)에 저장된 데이터를 입력받아 탐색 블록의 크기가 N ×N이고 탐색범위가 -p~+p 일 때 (2p+1) ×N 개로 구성하여 프로세싱 엘리먼트를 수행하는 복수개의 프로세싱 엘리먼트(31 ~ 45)와; 상기 복수개의 프로세싱 엘리먼트(31 ~ 45)의 출력을 누적하는 복수개의 누적부(46 ~ 50)와; 상기 복수개의 누적부(46 ~ 50)의 출력을 곱하여 출력하는 곱셈부(51 ~ 56)로 구성된다.As shown in the drawing, when the size of the search block is N × N and the search range is -p to + p, the data stored in the reference area memory 10 and the search area memory 20 is input (2p + 1). A plurality of processing elements 31 to 45 configured to form N × N pieces; A plurality of accumulators 46 to 50 accumulating outputs of the plurality of processing elements 31 to 45; And a multiplier 51 to 56 that multiply and output the outputs of the plurality of accumulators 46 to 50.
이와 같이 구성된 본 발명에 의한 비디오 부호화기의 계층적 움직임 탐색을 위한 공유 시스톨릭 어레이 장치의 동작을 첨부한 도면에 의거 상세히 설명하면 다음과 같다.The operation of the shared systolic array device for hierarchical motion search of the video encoder configured as described above will be described in detail with reference to the accompanying drawings.
먼저 도 3은 도 2의 시스톨릭 어레이부의 데이터 입력 순서를 보인 도면이고, 도 4는 도 2에서 탐색영역 메모리의 분할을 보인 도면이다.First, FIG. 3 is a diagram illustrating a data input order of the systolic array unit of FIG. 2, and FIG. 4 is a diagram illustrating division of a search region memory in FIG. 2.
비디오 부호화기에서 움직임 탐색을 수행하기 위해 시스톨릭 어레이를 이용한다.The video encoder uses a systolic array to perform motion search.
시스톨릭 어레이는 구성 방법 및 동작에 따라 다양한 종류가 존재한다.There are various types of systolic arrays depending on the configuration method and operation.
일반적으로 AS2 형식의 시스톨릭 어레이는 고속 탐색시 널리 이용되는 방식으로 탐색 블록의 크기가 N ×N이고, 탐색 범위가 -p~+p 일 때, (2p+1) ×N개의 프로세싱 엘리먼트(Processing Element)를 사용하여 시스톨릭 어레이를 구성한다.In general, an AS2 type systolic array is a widely used method for high-speed searching. When the size of a search block is N × N and the search range is -p ~ + p, (2p + 1) × N processing elements are processed. Element) to construct a systolic array.
계층적 탐색 방법의 경우 2 개 이상의 계층이 존재하며, 하위 계층에서는 원래 크기의 영상을 사용하고, 상위 계층에서는 매 계층마다 하위 계층의 영상을 1/4(가로 1/2, 세로 1/2)씩 축소시킨 영상을 사용하여 움직임을 탐색한다.In the hierarchical search method, two or more layers exist, the lower layer uses the original size image, and the upper layer uses 1/4 (horizontal 1/2, vertical 1/2) of the lower layer. The movement is searched using the reduced images.
본 발명에서는 최상위 계층의 블록 크기 및 탐색 범위를 기준으로 AS2 형식의 시스톨릭 어레이부(30)를 구성하고, 하위계층 탐색 과정에서 데이터의 입력 순서 및 시스톨릭 어레이부(30)에 연결되는 누산부(60)를 변경함으로써 동일한 시스톨릭 어레이부(30)를 사용하도록 하였다.In the present invention, the systolic array unit 30 of the AS2 format is configured based on the block size and the search range of the uppermost layer, and the accumulating unit connected to the data input order and the systolic array unit 30 in the lower layer search process. By changing 60, the same systolic array unit 30 was used.
4 ×4 블록을 ±3 범위로 탐색하는 AS2 형식의 시스톨릭 어레이부(30)에서의 데이터 입력 순서는 도 2와 같다. 이보다 하위 계층에서 8 ×8 블록을 ±3 범위로 탐색하는 경우 데이터 입력 순서는 도 3과 같다.The data input order in the systolic array unit 30 of the AS2 format that searches a 4x4 block in a range of ± 3 is shown in FIG. In the case of searching an 8 × 8 block in the range of ± 3 in the lower layer, the data input order is as shown in FIG. 3.
시스톨릭 어레이에서 처리할 수 있는 크기보다 4 배 큰 블록을 처리하는 경우, 시스톨릭 어레이부(30)의 프로세싱 엘리먼트 어레이의 출력단에 연결되는 누산부(60)의 클리어 간격을 4배로 증가시켜 제어한다.In the case of processing a block four times larger than the size that can be processed in the systolic array, the clear interval of the accumulating unit 60 connected to the output terminal of the processing element array of the systolic array unit 30 is increased by 4 times to control it. .
이처럼 본 발명은 비디오 부호화기의 움직임 탐색 과정에서 계층적 탐색방법으로 움직임 탐색을 수행하고자 할 때, 각 계층별로 동일한 구조를 사용하게 된다.As described above, when the motion search is to be performed by the hierarchical search method in the motion search process of the video encoder, the same structure is used for each layer.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.Although the preferred embodiment of the present invention has been described above, the present invention may use various changes, modifications, and equivalents. It is clear that the present invention can be applied in the same manner by appropriately modifying the above embodiments. Accordingly, the above description does not limit the scope of the invention as defined by the limitations of the following claims.
이상에서 살펴본 바와 같이, 본 발명에 의한 비디오 부호화기의 계층적 움직임 탐색을 위한 공유 시스톨릭 어레이 장치는 비디오 부호화기의 움직임 탐색 과정에서 계층적 탐색방법으로 움직임 탐색을 수행하고자 할 때, 각 계층별로 동일한 구조를 사용함으로써 하드웨어의 복잡도를 줄일 수 있는 효과가 있게 된다.As described above, the shared systolic array device for hierarchical motion search of the video encoder according to the present invention has the same structure for each layer when performing the motion search by the hierarchical search method in the motion search process of the video encoder. By using it, the complexity of hardware can be reduced.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000039653A KR100647009B1 (en) | 2000-07-11 | 2000-07-11 | Apparatus for shared systolic array for hierarchical motion searching in video encoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020000039653A KR100647009B1 (en) | 2000-07-11 | 2000-07-11 | Apparatus for shared systolic array for hierarchical motion searching in video encoder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020006163A true KR20020006163A (en) | 2002-01-19 |
KR100647009B1 KR100647009B1 (en) | 2006-11-17 |
Family
ID=19677426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020000039653A KR100647009B1 (en) | 2000-07-11 | 2000-07-11 | Apparatus for shared systolic array for hierarchical motion searching in video encoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100647009B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100694050B1 (en) * | 2004-06-11 | 2007-03-12 | 삼성전자주식회사 | Motion prediction method and apparatus thereof |
-
2000
- 2000-07-11 KR KR1020000039653A patent/KR100647009B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100694050B1 (en) * | 2004-06-11 | 2007-03-12 | 삼성전자주식회사 | Motion prediction method and apparatus thereof |
Also Published As
Publication number | Publication date |
---|---|
KR100647009B1 (en) | 2006-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100373222B1 (en) | Semiconductor integrated circuit | |
KR960020555A (en) | How to convert 2D image to 3D image | |
US8345764B2 (en) | Motion estimation device having motion estimation processing elements with adder tree arrays | |
Nicol | A systolic approach for real time connected component labeling | |
US5293596A (en) | Multidimensional address generator and a system for controlling the generator | |
US6668020B2 (en) | Method for motion estimation in video coding | |
KR20010052630A (en) | Motion estimation | |
JP2000106674A (en) | Method and device for detecting motion | |
US12001510B2 (en) | Method and apparatus for length-aware local tiling in a sparse attention module in a transformer | |
CN102292727A (en) | Video descriptor generator | |
US5412740A (en) | Signal processing system having reduced memory space | |
KR100647009B1 (en) | Apparatus for shared systolic array for hierarchical motion searching in video encoder | |
CN112967188B (en) | Spatial self-adaptive image super-resolution reconstruction method combining structured semantic code stream | |
US11475288B2 (en) | Sorting networks using unary processing | |
US5930403A (en) | Method and apparatus for half pixel SAD generation utilizing a FIFO based systolic processor | |
US5920496A (en) | High speed correlator using up/down counter | |
KR100337723B1 (en) | Apparatus and method for detecting enlargement or reduction rate of image data | |
JP3001754B2 (en) | Hierarchical motion vector detector | |
KR20190082137A (en) | Circuit unit, circuit module and apparatus for data statistics | |
CN113316017B (en) | Method for detecting resolution and electronic device | |
US20240152327A1 (en) | Computing circuit, computing method, and decoder | |
JP2806332B2 (en) | Video motion compensation circuit | |
Sheu et al. | An architecture with low memory-bandwidth and less hardware cost for 3SBM algorithm | |
SU570047A1 (en) | Device for reproducing of function | |
CN118115405A (en) | Binocular structured light three-dimensional correction method and system based on FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121031 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131030 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20141103 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |