KR19980073563A - Discrete Cosine Transform and Inverse Transform Processor - Google Patents

Discrete Cosine Transform and Inverse Transform Processor Download PDF

Info

Publication number
KR19980073563A
KR19980073563A KR1019970008917A KR19970008917A KR19980073563A KR 19980073563 A KR19980073563 A KR 19980073563A KR 1019970008917 A KR1019970008917 A KR 1019970008917A KR 19970008917 A KR19970008917 A KR 19970008917A KR 19980073563 A KR19980073563 A KR 19980073563A
Authority
KR
South Korea
Prior art keywords
rom
idct
dct
processor
bit
Prior art date
Application number
KR1019970008917A
Other languages
Korean (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 KR1019970008917A priority Critical patent/KR19980073563A/en
Publication of KR19980073563A publication Critical patent/KR19980073563A/en

Links

Abstract

본 발명은 분산연산 방식의 DCT/IDCT 프로세서의 설계 기술에 관한 것으로, 종래 기술에 의한 프로세서에 있어서는 DCT용 롬과 IDCT용 롬이 별도로 사용되고, 많은 개수의 전가산기가 사용되어 하드웨어의 크기가 클 뿐만 아니라 많은 전력이 소모되는 결함이 있었다.The present invention relates to a design technique of a DCT / IDCT processor of a distributed computing method. In a conventional processor, a DCT ROM and an IDCT ROM are used separately, and a large number of full adders are used to increase the size of hardware. But there was a lot of power consumption defects.

따라서, 본 발명은 이를 해결하기 위하여, 전처리기의 DCT모드를 위한 버터플라이 블록에 대해 4개의 2bit 오퍼랜드를 더할 수 있도록 2bit 전가산기를 처가하고, 후처리기에서의 IDCT를 위해 전가산기를 추가하여 교번적인 스위칭으로 행렬식의 가산/감산이 순차적으로 이루어지도록 하였다.Therefore, in order to solve this problem, the present invention addresses a 2-bit pre-adder so that four 2-bit operands can be added to the butterfly block for the DCT mode of the preprocessor, and alternately by adding a full adder for IDCT in the post-processor. By the normal switching, the addition / subtraction of the determinant is performed sequentially.

Description

이산여현 변환 및 역변환 프로세서Discrete Cosine Transform and Inverse Transform Processor

본 발명은 분산연산의 DCT(DCT: Discrete Cosine Transform)/IDCT(IDCT: Inverse Discrete Cosine Transform) 프로세서의 설계 기술에 관한 것으로, 특히 초대규모 집적회로(VLSI) 프로세서로 구현함에 있어서 DCT/IDCT 행렬식의 변환으로 롬을 공유하고, 가산기의 수를 줄이도록한 이산여현 변환 및 역변환 프로세서에 관한 것이다.The present invention relates to a design technology of a distributed computational DCT (DCT) Discrete Cosine Transform (DCT) / IDCT (IDCT) processor, and more particularly, to implement a DCT / IDCT determinant in implementing a large scale integrated circuit (VLSI) processor. Discrete cosine transform and inverse transform processor to share ROM with transform and reduce number of adders.

DCT는 오늘날 JPEG, MPEG1,MPEG2 그리고, HDTV 등의 영상압축 기술의 표준으로 널리 사용되고 있는데, 그 이유는 압축효율이 뛰어나고 고속 알고리듬이 존재하며, 하드웨어의 구현이 용이하기 때문이다.DCT is widely used today as a standard for image compression technologies such as JPEG, MPEG1, MPEG2, and HDTV, because of its high compression efficiency, high speed algorithm, and easy hardware implementation.

2차원 DCT는 2차원 화소 행렬로 부터 2차원 공간주파수 계수 행렬로의 변환으로서, 변환된 행렬은 고주파 공간에 많은 영(zero) 또는 영에 가까운 값들을 포함한다. 또한, 변환된 계수 행렬은 공간주파수에 대한 인간의 시각특성을 이용하여 양자화되고, 연속되는 영 값의 제거 및 압축된 표현을 위해 RLC(Run-Length Coding)와 허프만(Huffman) 엔코딩을 수행하여 전송하게 된다. 이때, 전송 비트율(bit-rate)과 재현된 화질은 양자화의 정도에 따라 상호 상충되므로 응용분야에 따라 최적의 값이 선택된다.Two-dimensional DCT is a transformation from a two-dimensional pixel matrix to a two-dimensional spatial frequency coefficient matrix, where the transformed matrix contains many zero or near zero values in high frequency space. In addition, the transformed coefficient matrix is quantized using human visual characteristics of spatial frequency and transmitted by performing Run-Length Coding (HLC) and Huffman encoding for the elimination of contiguous zero values and compressed expression. Done. In this case, since the bit rate and the reproduced image quality conflict with each other according to the degree of quantization, an optimal value is selected according to an application field.

2차원 DCT/IDCT 연산의 복잡도를 줄이고 동작속도를 높이기 위하여 많은 알고리듬이 제안되었는 바, 기본적으로 이들은 크게 RCM(Row-Column Method)과 NRCM(Not-Row-Column Method)으로 구분된다. 그런데, 상기 NRCM은 하드웨어 구현이 복잡하므로 주로 RCM이 사용되고 있다.Many algorithms have been proposed to reduce the complexity of 2D DCT / IDCT operation and to increase the operation speed. Basically, they are largely divided into RCM (Row-Column Method) and NRCM (Not-Row-Column Method). However, since the NRCM has a complicated hardware implementation, RCM is mainly used.

상기 RCM에서 2차원 DCT/IDCT는 통상적으로 도 1에서와 같이 구성되어 전단의 1차원 여현변환/역변환부(1)에서는 1차원 행(또는 열) DCT/IDCT가 수행되고, 행렬변환부(2)에서는 행렬변환이 수행되며, 후단의 1차원 여현변환/역변환부(3)에서는 열(또는 행) DCT/IDCT가 수행된다.In the RCM, the two-dimensional DCT / IDCT is typically configured as shown in FIG. 1 so that one-dimensional row (or column) DCT / IDCT is performed in the one-dimensional cosine transform / inverse transform unit 1 of the front end and the matrix transform unit 2 ), Matrix transformation is performed, and column (or row) DCT / IDCT is performed in the one-dimensional cosine transform / inverse transform unit 3 at the rear stage.

상기 도 1의 2차원 DCT/IDCT를 구현하는 방법으로서 곱셈기로 구현하는 방법과 분산연산 distributed arithmetic) 구조로 구현하는 방법이 있다. 그런데, 곱셈기로 구현하는 방법은 고속화 연산이 요구될 때 하드웨어의 규모가 커지게 되는 문제점이 있어 롬, 누산기 그리고, 시프터로 곱셈 연산을 수행하는 분산 연산방식에 파이프라인과 병렬처리 개념을 도입하여 적은 면적, 고처리율(high-throughput)의 VLSI를 구현하고 있는 실정에 있다.As a method of implementing 2D DCT / IDCT of FIG. 1, there are a method of implementing a multiplier and a method of implementing a distributed arithmetic structure. However, the multiplier implementation has a problem in that the hardware scales up when the speedup operation is required, and the concept of pipeline and parallel processing is introduced in a distributed arithmetic scheme that performs multiplication operations using ROMs, accumulators, and shifters. Area and high-throughput VLSI is being implemented.

8×8 2차원 DCT와 IDCT의 정의식은 다음과 같다.The definition of 8x8 two-dimensional DCT and IDCT is as follows.

이로부터 8×1 1차원 DCT와 IDCT를 분리하면 다음과 같이 표현된다.From this, 8 × 1 one-dimensional DCT and IDCT are separated as follows.

상기 식은 cosine 계수의 대칭특성을 이용하여 다음의 4×4 행렬식으로 표현할 수 있다.The above equation may be expressed by the following 4 × 4 determinant using the symmetry characteristic of the cosine coefficient.

상기의 DCT식을 근거로 하여 1차원 DCT를 하드웨어로 구현하는 경우 이의 일반적인 하드웨어 블록은 크게 입력데이터를 공급받아 가산/감산처리하는 전처리부와, 상기 전처리부의 출력을 cosine 계수와 곱한 후 가산하는 곱셈/가산기로 구성된다. 또한, IDCT식을 근거로 하여 1차원 IDCT를 하드웨어로 구현하는 경우 이의 일반적인 하드웨어 블록은 입력 데이터와 cosine 계수를 곱한 후 가산하는 곱셈/가산기와, 그 결과를 가산/감산하는 후처리부로 구성된다.In the case of implementing a one-dimensional DCT in hardware based on the DCT equation, a general hardware block includes a preprocessing unit that adds / subtracts large input data, multiplies the cosine coefficient by the output of the preprocessor, and adds the multiplication. It consists of an adder. In addition, when a one-dimensional IDCT is implemented in hardware based on an IDCT equation, its general hardware block includes a multiplier / adder for multiplying and adding input data and cosine coefficients, and a post-processing unit for adding / subtracting the result.

여기서, 곱셈/가산기능을 곱셈기로 구현하면 하드웨어의 규모가 커지고 고속동작에 어려움이 있으므로 분산연산 방법을 이용하게 되는데, 그 원리는 아래와 같으며, N-bit 2의 보수 코드는 다음과 같이 표현된다.In this case, if the multiplication / addition function is implemented as a multiplier, the hardware scales and the high-speed operation is difficult. Therefore, the distributed operation method is used. The principle is as follows, and the N-bit 2's complement code is expressed as follows. .

따라서, 행렬곱셈연산은 미리 계산된 부분적(partial product)을 미리 롬에 저장하고, 입력벡터를 어드레스로 하여 상기 롬으로 부터 부분적을 순차적으로 읽어내어 누산하는 것에 의해 달성된다. 그런데, chen의 고속 알고리듬에 따르면 64개의 롬과 32개의 가산기가 소요된다.Thus, matrix multiplication is a precomputed partial product. Is stored in the ROM in advance, and partial reads from the ROM are sequentially performed and accumulated using the input vector as an address. However, according to chen's high-speed algorithm, 64 ROMs and 32 adders are required.

도 2는 1차원 DCT/IDCT의 일반적인 하드웨어 블록도를 보인 것이고, 도 3은 도 2에서 분산 연산을 수행하는 주처리부(20)의 단위 연산부에 대한 상세 블록도를 보인 것이다. 도 2에서 워드시프터(11A-11H), 비트시프터(12A-12H) 및 버터플라이(13)는 전처리부(10)의 구성요소로서 입력 데이터를 직렬로 8개 입력받아 동시에 병렬로 2bit씩 출력한다. 그리고, DCT모드에서 상기 버터플라이(13)에서 2bit 가산/감산을 수행하게 되나, IDCT모드에서는 곧바로 롬(21A-21H)을 어드레스한다.FIG. 2 is a block diagram illustrating a general hardware block diagram of one-dimensional DCT / IDCT, and FIG. 3 is a detailed block diagram of a unit calculator of the main processor 20 performing a distributed operation in FIG. 2. In FIG. 2, the word shifters 11A-11H, the bit shifters 12A-12H, and the butterfly 13 are components of the preprocessor 10 and receive 8 input data in series and output 2 bits in parallel at the same time. . In the DCT mode, the butterfly 13 adds / subtracts 2 bits. In the IDCT mode, the ROMs 21A-21H are immediately addressed.

상기 롬(21A-21H)과 누산기(22A-22H)는 주처리부(20)의 구성요소로서 분산연산방식으로 곱셈연산을 수행하고, 나머지 블록들은 후처리부(30)의 구성요소로서 병렬로 출력된 누산기(22A-22H) 결과를 래치한 후 순차적으로 라운딩회로 즉, 반올림부(36)를 통해 출력하게 된다. 여기서, IDCT의 경우 가산/감산이 올바른 순서로 수행되도록 제어하게 된다.The ROMs 21A-21H and the accumulators 22A-22H perform multiplication operations in a distributed operation method as components of the main processor 20, and the remaining blocks are output in parallel as components of the post processor 30. After latching the accumulator results 22A-22H, the accumulator 22A-22H is sequentially output through the rounding circuit 36. Here, in the case of IDCT, the addition / subtraction is controlled in the correct order.

그런데, chen의 고속 알고리듬에 따르면 8×1 1차원 DCT/IDCT는 각각 두 개의 4×4 행렬과 4×1 입력 벡터의 행렬 곱셈으로 구현된다.However, according to chen's fast algorithm, 8 × 1 one-dimensional DCT / IDCT is implemented by matrix multiplication of two 4 × 4 matrices and 4 × 1 input vectors, respectively.

그러나, 종래 기술에 의한 이산여현 변환 및 역변환 프로세서에 있어서는 DCT용 롬과 IDCT용 롬이 별도로 사용되고, 많은 개수의 전가산기가 사용되어 하드웨어의 크기가 클 뿐만 아니라 많은 전력이 소모되는 결함이 있었다.However, in the discrete cosine conversion and inverse conversion processor according to the prior art, the ROM for the DCT and the ROM for the IDCT are used separately, and a large number of full adders are used, resulting in a large hardware and a large power consumption.

따라서, 본 발명이 이루고자 하는 기술적 과제는 DCT용 롬과 IDCT용 롬을 공유 가능한 롬으로 구성하고, 전가산기의 사용 개수를 줄인 이산여현 변환 및 역변환 프로세서를 제공함에 있다.Accordingly, an aspect of the present invention is to provide a discrete cosine transform and inverse transform processor having a ROM capable of sharing a ROM for DCT and an ROM for IDCT, and reducing the number of full adders.

도 1은 일반적인 2차원 DCT/IDCT 프로세서의 블록도.1 is a block diagram of a typical two dimensional DCT / IDCT processor.

도 2는 1차원 DCT/IDCT의 일반적인 하드웨어 블록도.2 is a general hardware block diagram of one-dimensional DCT / IDCT.

도 3은 도 2에서 주처리부의 단위 연산부에 대한 상세 블록도.3 is a detailed block diagram of a unit calculating unit of a main processor of FIG. 2;

도 4는 본 발명 이산여현 변환 및 역변환 프로세서의 일실시 예시 블록도.Figure 4 is an exemplary block diagram of a discrete cosine transform and inverse transform processor of the present invention.

도 5a는 도 4의 주처리부에서 A타입 롬 및 누산부의 상세 블록도.5A is a detailed block diagram of an A-type ROM and an accumulator in the main processor of FIG. 4;

도 5b는 도 4의 주처리부에서 B타입 롬 및 누산부의 상세 블록도.5B is a detailed block diagram of a B-type ROM and an accumulator in the main processor of FIG. 4.

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

110 : 전처리부111A-111H : 워드시프터110: preprocessing unit 111A-111H: word shifter

112A-112H : 비트시프터113 : 버터플라이112A-112H: Beat Shifter 113: Butterfly

114,131A-131H,135A,135B : 멀티플렉서114,131A-131H, 135A, 135B: Multiplexer

120 : 주처리부121 : 롬부120: main processor 121: ROM

121A-121H : 롬122 : 누산부121A-121H: ROM 122: Accumulation part

122A-122H : 누산기130 : 후처리부122A-122H: Accumulator 130: Post-processing unit

132A-132H : 레지스터133A-133H : 스위치132A-132H: Registers 133A-133H: Switches

134A,134B : 덧셈기136 : 반올림부134A, 134B: Adder 136: Rounding part

도 4는 본 발명에 의한 이산여현 변환 및 역변환 프로세서의 구현예를 보인 예시 블록도로서 이에 도시한 바와 같이, 소정 단위의 입력 데이터를 직렬로 입력받아 동시에 병렬로 일정 비트씩 출력함에 있어서, DCT모드를 위한 버터플라이 블록에 4개의 2bit 오퍼랜드를 더할 수 있도록 2bit 전가산기를 추가로 구비하여, 모드(DCT/IDCT)에 따라 소정비트씩(2bit) 가산/감산을 수행하거나 직접 출력하는 방식으로 롬부(121)를 어드레스하는 전처리부(110)와; DCT용 롬과 IDCT용 롬을 공유 가능한 단일 롬으로 구성하고 전가산기의 수를 줄여 분산연산 방식으로 곱셈연산을 수행하는 주처리부(120)와; IDCT를 위해 전가산기를 추가로 구비하여 상기 주처리부(120)의 누산기 출력을 래치한 후 교번적인 스위칭에 따라 행렬식의 가산/감산을 순차적으로 수행하고 반올림 처리를 하여 출력하는 후처리부(130)로 구성한 것으로, 이와 같이 구성한 본 발명의 작용 및 효과를 첨부한 도 5a,5b를 참조하여 상세히 설명하면 다음과 같다.4 is an exemplary block diagram illustrating an implementation of the discrete cosine transform and inverse transform processor according to the present invention. As shown in FIG. In order to add four 2bit operands to the butterfly block for the controller, a 2bit full adder is additionally added, and the ROM unit is added or subtracted by a predetermined bit (2bit) according to the mode (DCT / IDCT) or directly outputted. A preprocessor 110 for addressing 121; A main processor 120 configured to configure a DCT ROM and an IDCT ROM as a single ROM that can be shared, and perform multiplication operation in a distributed operation method by reducing the number of full adders; In addition to the full adder for the IDCT latching the output of the accumulator of the main processor 120 to perform the addition / subtraction of the determinant in sequence according to the alternating switching to the post-processing unit 130 to output by rounding If described in detail with reference to Figures 5a, 5b attached to the operation and effects of the present invention configured as described above are as follows.

8×1 1차 DCT/IDCT 정의식은 4×4 행렬식으로 부터 2×2 행렬식의 합으로 표현할 수 있는데, 이때, DCT와 IDCT 행렬이 동일하도록 조정하면 다음의 식과 같이 정의된다.An 8 × 1 first order DCT / IDCT definition can be expressed as a sum of 2 × 2 determinants from a 4 × 4 determinant, where the DCT and IDCT matrices are adjusted to be equal to the following equation.

상기의 식을 그대로 하드웨어로 구현하면 사용되는 롬의 규모는 16워드 롬 32개에서 4워드 롬 24개로 줄어들게 되나, 롬 주변의 회로를 고려하면 효과가 매우 적고, 더구나 전가산기의 사용 개수가 종래의 16개에 비하여 오히려 24개로 늘어나게 되므로 부적합하게 된다.If the above equation is implemented in hardware, the size of the ROM used is reduced from 32 16 word ROMs to 24 4 word ROMs. However, considering the circuit around the ROM, the effect is very small. It is not suitable because it is increased to 24 rather than 16.

따라서, 종래 기술에서 영상신호의 실시간 처리를 위해 롬과 전가산기를 2배로 하여 2bit씩 병렬처리하던 방식을 개선하기 위하여, 입력 벡터를 1bit씩 조합하여 롬을 어드레스하던 것을 2bit씩 조합하여 롬을 어드레스하도록 하면 롬의 크기는 4-워드짜리 24개에서 16워드짜리 12개로 증가되지만 전가산기의 수는 24개에서 12개로 줄어들어 전체적으로 볼 때 설치면적과 소비전력이 줄어들게 된다. 즉, 상기 2×2 행렬식을 아래와 같이 2×4 행렬식으로 변환하면 롬이나 전가산기를 추가하지 않고도 2bit씩 처리하는 것이 가능해져 설치면적과 소비전력이 줄어들게 된다.Therefore, in order to improve the method of parallel processing by 2 bits by doubling the ROM and full adder for real time processing of the image signal in the related art, the ROM is addressed by combining the input vectors by 1 bit and combining the ROM by 2 bits. The size of the ROM increases from 24 four-words to twelve 16-words, but the total number of adders is reduced from 24 to twelve, reducing the overall footprint and power consumption. In other words, by converting the 2 × 2 determinant into a 2 × 4 determinant as follows, it is possible to process by 2 bits without adding a ROM or full adder, thereby reducing the installation area and power consumption.

DCT:DCT:

상기의 식을 근거로 분산연산부에 해당하는 주처리부(120) 즉, 롬부(121) 및 누산부(122)를 구현하는 경우, 도 4 및 도 5에서와 같이 16워드 롬 12개와 전가산기 12개 만으로 가능하다. 이때, 전처리부(110)에 2bit 전가산기 4개가 사용되며, IDCT의 경우에는 전가산기(rombit +α) 1개가 추가로 요구되나 전체적으로 볼 때 칩면적에 별다른 영향을 주지 않는다.In the case of implementing the main processing unit 120, that is, the ROM unit 121 and the accumulator unit 122 corresponding to the dispersion operation unit based on the above equation, as shown in Figs. 4 and 5, 12 16-word ROMs and 12 full adders. Only possible. In this case, four 2-bit full adders are used in the preprocessing unit 110, and in the case of IDCT, one full adder (rombit + α) is additionally required, but it does not affect chip area as a whole.

즉, 상기의 식으로 부터 알 수 있듯이 각각의 입력을 인접한 하위, 상위 2bit씩 동시에 어드레스하면 입력벡터는 2×1에서 4×1로 되고, 행렬은 2×2에서 2×4로 확장된다. 이때, 상위 비트는 하위 비트보다 2배 큰 계수를 갖아야 한다. 따라서, 하위비트용 롬과 상위비트용 롬을 두 개 사용하고 하위비트용 롬 출력을 1bit 우측으로 시프트하여 상위비트 롬의 출력과 더하는 과정을 1회의 롬 어드레스로 처리하므로 별도의 전가산기가 필요없고 소비전력이 절감된다. 그러나, DCT의 경우 롬을 어드레스하기 전에 4개의 입력 벡터를 더해야 하므로 전처리 버터플라이(113) 구조에 2bit덧셈기가 4개 더 추가되고, IDCT의 경우 후처리 버터플라이에 전가산기 1개가 더 추가되지만 전체적인 개선효과에 비교할 때 큰 부담이 되지 않는다.That is, as can be seen from the above equation, when each input is simultaneously addressed by adjacent lower and upper 2 bits, the input vector becomes 2 × 1 to 4 × 1, and the matrix extends from 2 × 2 to 2 × 4. At this time, the upper bit should have a factor twice as large as the lower bit. Therefore, the process of adding the output of the upper bit ROM by adding the lower bit ROM and the upper bit ROM and shifting the lower bit ROM output to the right by 1 bit as one ROM address eliminates the need for a separate full adder. Power consumption is reduced. However, since DCT requires adding four input vectors before addressing the ROM, four more 2-bit adders are added to the preprocessing butterfly 113 structure, and one full adder is added to the postprocessing butterfly for IDCT. Compared to the overall improvement, it is not a big burden.

상기 DCT의 결과식으로 부터 ,를 계산하기 위해 상기 도 5a와 같은 형태의 누산기 출력을 서로 더하거나 빼는 전가산기와 이 결과를 도 5b와 같은 형태의 누산기 출력과 더하거나 빼어 1차원 DCT 출력(x0 - x7)을 얻는 전가산기가 필요하나, 본 발명의 전반적인 동작원리는 종래기술과 유사하다. 그러나, 전처리부(110)의 DCT모드를 위한 버터플라이(113)는 상기 행렬식에서 볼 수 있듯이 2bit 연산수(operand)를 더할 수 있도록 2bit 전가산기 4개를 구비하고, 주처리부(120)에서 IDCT모드를 위해 전가산기 한 개를 추가하여 교번적인 스위칭으로 행렬식의 가산/감산이 순차적으로 이루어지도록 하였다.From the result of the DCT, In order to calculate the total adder that adds or subtracts the output of the accumulator as shown in FIG. 5A and the result adds or subtracts the result of the accumulator as shown in FIG. The overall operating principle of the present invention is similar to that of the prior art. However, the butterfly 113 for the DCT mode of the preprocessing unit 110 includes four 2bit full adders to add 2bit operands as shown in the determinant, and the IDCT in the main processing unit 120. A full adder was added for the mode, so that the addition and subtraction of the determinant was performed sequentially by alternating switching.

상기 DCT의 결과식에서 X0,X4,X2 그리고,X6 을 얻기위한 누산기는 도 5a에서와 같이 한 개의 전가산기(152)와 레지스터(153)로 구성되며, X1,X5,X3 그리고,X7을 구하기 위한 누산기는 도 5b에서와 같이 두 개의 롬(161),(162) 출력을 더하고 그 결과를 누적하는 과정이 필요하므로 두 개의 전가산기(163),(164)와 레지스터(165)로 구성된다.The accumulator for obtaining X0, X4, X2 and X6 in the DCT result formula is composed of one full adder 152 and a register 153 as shown in FIG. 5A, and for obtaining X1, X5, X3 and X7. The accumulator is composed of two full adders 163 and 164 and a register 165 since the process of adding the two ROMs 161 and 162 and accumulating the results as shown in FIG. 5B is necessary.

이와 같은 본 발명의 원리를 2차원 DCT/IDCT 프로세서에 적용할 경우, 종래 기술에 비하여 롬 수는 64개에서 24개로, 전가산기(rombit length +α)의 수는 32개에서 26개로 각각 줄일 수 있다.When the principle of the present invention is applied to a two-dimensional DCT / IDCT processor, the number of ROMs can be reduced from 64 to 24, and the number of full adders (rombit length + α) can be reduced from 32 to 26, respectively. have.

이상에서 상세히 설명한 바와 같이, 본 발명은 이산여현 변환 및 역변환 프로세서를 구현함에 있어서, DCT용 롬과 IDCT용 롬을 공유 가능한 단일 롬으로 구성하고, 전가산기의 사용 개수를 줄임으로써 칩의 설치면적이 줄어들고 소모전력이 줄어드는 효과가 기대된다.As described in detail above, in the present invention, in implementing a discrete cosine transform and inverse transform processor, a single ROM capable of sharing the ROM for the DCT and the ROM for the IDCT may be configured, and the amount of installed area of the chip may be reduced by reducing the number of full adders. It is expected to reduce the power consumption and reduce the power consumption.

Claims (2)

소정 단위의 직렬 입력데이터를 병렬로 변환하여 출력함에 있어서, DCT모드를 위한 버터플라이 블록에 소정의 오퍼랜드를 더할 수 있도록 전가산기를 추가로 구비하여, 모드(DCT/IDCT)에 따라 소정비트씩 가산/감산을 수행하거나 직접 출력하는 방식으로 다음단의 롬부(121)를 어드레스하는 전처리부(110)와; DCT용 롬과 IDCT용 롬을 공유 가능한 단일 롬으로 구성하여 교번적인 스위칭에 따라 행렬식의 특성을 이용하여 DCT용 롬과 IDCT용 롬을 공유 가능한 단일 롬으로 구성하고 분산연산 방식으로 곱셈연산을 수행하는 주처리부(120)와; IDCT를 위해 전가산기를 추가로 구비하여 상기 주처리부(120)의 누산기 출력을 래치한 후 교번적인 스위칭에 따라 행렬식의 가산/감산을 순차적으로 수행하여 출력하는 후처리부(130)로 구성한 것을 특징으로 하는 이산여현 변환 및 역변환 프로세서.In converting and outputting serial input data of a predetermined unit in parallel, a full adder is further provided to add a predetermined operand to a butterfly block for the DCT mode, and added by predetermined bits according to the mode (DCT / IDCT). A preprocessing unit 110 for addressing the next ROM unit 121 in a manner of performing / subtracting or directly outputting; The DCT ROM and IDCT ROM are configured as a single shareable ROM, and the DCT ROM and IDCT ROM are configured as a single shareable ROM using the determinant characteristics according to the alternating switching, and the multiplication operation is performed by distributed operation. A main processor 120; It is characterized in that it comprises a post-processing unit 130 further comprises a full adder for IDCT latching the accumulator output of the main processing unit 120 and sequentially performing the addition / subtraction of the determinant according to the alternate switching. Discrete cosine transform and inverse transform processor. 제1항에 있어서, 주처리부(120)의 롬과 전가산기의 수를 줄이기 위해 상,하위 비트용 롬을 구비하고, 하위 비트용 롬 출력을 1비트 우측으로 시프트하여 상위 비트 롬의 출력과 더하는 과정을 1회의 롬 어드레스로 처리하도록 구성한 회로를 포함하여 구성한 것을 특징으로 하는 이산여현 변환 및 역변환 프로세서.The method of claim 1, wherein the main processor 120 includes upper and lower bit ROMs to reduce the number of ROMs and full adders, and shifts the lower bit ROM outputs to the right by one bit to add the outputs of the upper bit ROMs. A discrete cosine transform and inverse transform processor, comprising a circuit configured to process a process into one ROM address.
KR1019970008917A 1997-03-17 1997-03-17 Discrete Cosine Transform and Inverse Transform Processor KR19980073563A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970008917A KR19980073563A (en) 1997-03-17 1997-03-17 Discrete Cosine Transform and Inverse Transform Processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970008917A KR19980073563A (en) 1997-03-17 1997-03-17 Discrete Cosine Transform and Inverse Transform Processor

Publications (1)

Publication Number Publication Date
KR19980073563A true KR19980073563A (en) 1998-11-05

Family

ID=65985688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970008917A KR19980073563A (en) 1997-03-17 1997-03-17 Discrete Cosine Transform and Inverse Transform Processor

Country Status (1)

Country Link
KR (1) KR19980073563A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102428398B1 (en) * 2021-03-17 2022-08-02 주식회사 모르미 Parallel processing appratus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102428398B1 (en) * 2021-03-17 2022-08-02 주식회사 모르미 Parallel processing appratus
WO2022197091A1 (en) * 2021-03-17 2022-09-22 주식회사 모르미 Parallel processing device

Similar Documents

Publication Publication Date Title
US4829465A (en) High speed cosine transform
US7117236B2 (en) Parallel adder-based DCT/IDCT design using cyclic convolution
JPH07236143A (en) High-speed digital signal decoding method
KR20000008477A (en) Inverse discrete cosine transform system for mpeg decoder
KR19990022657A (en) Discrete Cosine Transformation Computation Circuit
EP0776559B1 (en) System and method for inverse discrete cosine transform implementation
KR20010023031A (en) Variable block size 2-dimensional inverse discrete cosine transform engine
US7076105B2 (en) Circuit and method for performing a two-dimensional transform during the processing of an image
KR19990066552A (en) Discrete cosine transform / inverse discrete cosine transform processor
KR100313217B1 (en) Pipeline DCT device
US20010033617A1 (en) Image processing device
WO1996004733A9 (en) System and method for inverse discrete cosine transform implementation
KR19980073563A (en) Discrete Cosine Transform and Inverse Transform Processor
EP1544797A2 (en) Low power, high performance transform coprocessor for video compression
US5999958A (en) Device for computing discrete cosine transform and inverse discrete cosine transform
JP3155383B2 (en) Two-mode processing device, two-dimensional conversion device, and still image data compression system
KR960014197B1 (en) Distributed arithmetic unit
KR100434391B1 (en) The architecture and the method to process image data in real-time for DSP and Microprocessor
JP3895031B2 (en) Matrix vector multiplier
KR0180773B1 (en) Vector processing unit accommodating dct/idct/q/iq
Hsia et al. Transposed-memory free implementation for cost-effective 2D-DCT processor
KR100225496B1 (en) Dct core architecture
KR100350943B1 (en) Fast Discrete Cosine Transform Processors using Distributed Arithmetic
KR20030019787A (en) Discrete cosine transform method of distributed arithmetic
JPH05153402A (en) Discrete cosine transformation device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application