KR0126109B1 - Vlsi processor for dct/idct - Google Patents
Vlsi processor for dct/idctInfo
- Publication number
- KR0126109B1 KR0126109B1 KR1019940010391A KR19940010391A KR0126109B1 KR 0126109 B1 KR0126109 B1 KR 0126109B1 KR 1019940010391 A KR1019940010391 A KR 1019940010391A KR 19940010391 A KR19940010391 A KR 19940010391A KR 0126109 B1 KR0126109 B1 KR 0126109B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- butterfly
- multiplication
- output
- multiplication operation
- 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/436—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 using parallelised computational arrangements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/1733—Controllable logic circuits
- H03K19/1737—Controllable logic circuits using multiplexers
-
- 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/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
뇌상처리에 있어서의 이산적 코사인 변환/역변환용의 집적회로의 프로세서에 관한 것으로, 간단한 구조이면서도 정역순의 연산이 가능하며, 집적회로의 점유 공간을 축소할 수 있음과 동시에 그 처리속도를 향상시킬 수 있는 프로세서의 제공을 목적으로 한다.The present invention relates to a processor of an integrated circuit for discrete cosine transform / inverse transform in brain processing, which is simple in structure and can be operated in reverse order, and can reduce the occupied space of the integrated circuit and improve its processing speed. To provide a processor that can.
버터플라이 연상을 실행하는 버터플라이 연산수단(2)과, 단순승법연산을 실행하는 승법연산수단(3)과, 승법연산수단(3)을 결합하여 전치가산 승법연산 또는 사후 감산 승법연산을 실행하는 보조가감산수단(32)과, 기압 독출 포트에 의해 연산과정의 중간 결과를 억세스하는 데이타 레지스터(4)를 조합하여 각회의 1차원 DCT/IDCT 연산을 3스텝의 버터플라이연산과, 1스텝의 단순한 승법연산과, 2스텝의 보조가감을 거친 승법연산을 포합하는 순회 연산이 가능한 6스텝을 형성하여 버터플라이 연산수단(2)과 승법연산수단(3)에 의해 파이프라인 작업방법의 병렬처리를 실행한다.Performing a pre-addition multiplication operation or a post-subtraction multiplication operation by combining the butterfly calculation means 2 for performing butterfly association, the multiplication operation means 3 for performing simple multiplication operation, and the multiplication operation means 3; The auxiliary additive subtraction unit 32 and the data register 4 which access the intermediate result of the calculation process by the pressure reading port are combined to perform three steps of butterfly operation and one step of one-dimensional DCT / IDCT operation. Forming six steps that can perform simple multiplicative operations and multiplicative operations involving two steps of subtraction and multiplicative operations, the parallel calculation of the pipeline work method is performed by the butterfly calculation means 2 and the multiplication operation means 3. Run
Description
제1도는 본 발명에 따른 이산적(離算的) 코사인변환/역변환용 집적회로 프로세서의 하나의 구성형태를 나타낸 블럭도이다.1 is a block diagram showing one configuration of an integrated circuit processor for discrete cosine transform / inverse transform according to the present invention.
제2도는 제1도의 프로세서에 의해 실행되는 DCT 연산의 흐름을 나타낸 타임차트이다.2 is a time chart illustrating the flow of DCT operations executed by the processor of FIG.
제3도는 제1도의 프로세서에 의해 실행되는 IDCT 연산의 흐름을 나타낸 타임차트이다.3 is a time chart showing the flow of IDCT operations executed by the processor of FIG.
제4도는 본 발명에 따른 이산적 코사인변환/역변환용 집적회로 프로세서의 다른 구성형태를 나타낸 블럭도이다.4 is a block diagram showing another configuration of an integrated circuit processor for discrete cosine transform / inverse transform according to the present invention.
제5도는 제4도의 프로세서에 의해 실행되는 DCT/IDCT 연산의 흐름을 나타낸 타임차트이다.5 is a time chart illustrating the flow of DCT / IDCT operations executed by the processor of FIG.
제6도는 이산적 코산인 변환의 흐름을 나타낸 설명도이다.6 is an explanatory diagram showing a flow of a discrete cosine transform.
제7도는 이산적 코사인 변환/역변환에 이용하는 각 연산의 정의를 나타낸 설명도로서, 각각 (a)는 버터플라이연산, (b)단순승법연산, (3)는 전치가산승법연산, (4)는 사후감산 승법연산의 정의를 나타낸 것이다.7 is an explanatory diagram showing the definition of each operation used for the discrete cosine transform / inverse transform, where (a) is a butterfly operation, (b) a simple multiplication operation, (3) a preaddition multiplication operation, and (4) It shows the definition of post-subtraction multiplication operation.
제8도는 이산적 코사인 역변환을 나타낸 설명도이다.8 is an explanatory diagram showing a discrete cosine inverse transform.
*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
1 : 입력수단2 : 버터플라이연산 수단1: input means 2: butterfly operation means
3 : 승법연산 수단4 : 데이타 레지스터3: multiplication operation means 4: data register
5 : 출력 수단6 : 제어 수단5: output means 6: control means
31 : 제2전치 멀티플렉서32 : 보조 가감산기31: second premultiplexer 32: auxiliary adder and subtractor
33 : 곱셈기34 : 계수 ROM33: multiplier 34: coefficient ROM
35 : 출력선택기35: output selector
본 발명은 직접회로 프로세서에 관한 것으로, 특히 정역순(正逆順) 연산가능한 이산적 코사인 변환용의 직접회로 프로세서에 관한 것이다.The present invention relates to an integrated circuit processor, and more particularly to an integrated circuit processor for discrete cosine transform capable of inverse order calculation.
이산적 코사인 변환(Discrete Cosine Transform, 이하 DCT라 한다) 및 그 역변환(Inverse Discrete Cosine Transform, 이하 IDCT라 한다)은 각각 디지탈 화상의 압축과정이나 복원과정에서 이용된다. 디지탈 화상의 압축과정에 있어서, 통상 화상은 다수의 8×8화소의 블럭으로 세분된 후, 각 블럭마다 차례로 DCT 변환이 행해져 주파수영역의 데이타로 변환된다. 또한 복원과정에 있어서는 주파수영역의 데이타가 IDCT를 거쳐 화상데이타로 복원된다.Discrete Cosine Transform (hereinafter referred to as DCT) and its Inverse Discrete Cosine Transform (hereinafter referred to as IDCT) are each used in the compression or reconstruction process of a digital image. In the process of compressing a digital image, a normal image is subdivided into a plurality of blocks of 8x8 pixels, and then DCT conversion is performed for each block in turn to convert the data into frequency domain data. In the restoration process, the frequency domain data is restored to the image data via IDCT.
따라서, 이차원 DCT/IDCT를 실행하는 경우, 우선 1회의 1차원의 행(또는 열)의 변환이 행해지며, 그후 또 한차례의 1차원 열(또는 행)의 변환이 행해진다. 예를들어 8×8의 블럭의 임의의 행 또 열의 1차원 DCT는 다음식과 같이 표현할 수 있다.Therefore, when two-dimensional DCT / IDCT is executed, first one-dimensional row (or column) conversion is performed, and then another one-dimensional column (or row) is converted. For example, the one-dimensional DCT of any row or column of an 8 × 8 block can be expressed as the following equation.
[식 1][Equation 1]
F(k)=1/2-C(k)S(m)cos[(2m+1)k16]F (k) = 1 / 2-C (k) S (m) cos [(2m + 1) k 16]
k=0,1,.....7k = 0,1, ..... 7
C(k)=1/21/2(k=0일때)C (k) = 1/2 1/2 (when k = 0)
C(k)=1 (K=1,2,...7일때)C (k) = 1 (when K = 1,2, ... 7)
상기 관게식은 일련의 승법과 누계로 구성되어 있으며, 그 중 S(m)은 공간영역의 화상데이타이고, F(k)는 변환후의 영역의 데이타이다. 이 관계식으로부터 일련의 고속 알고리즘을 도출할 수 있으며, 1차원 DCT를 13회의 승법과 29회의 가감법으로 실행할 수 있고, 그 프로세서는 제6도와 같다.The relational expression is composed of a series of multiplications and cumulative numbers, where S (m) is image data of a spatial region, and F (k) is data of the region after conversion. A series of high-speed algorithms can be derived from this relation, and one-dimensional DCT can be executed by 13 multiplications and 29 additions and subtractions, and the processor is as shown in FIG.
이 프로세서에는 특히 3종류의 연산이 정의되고 있으며 제7(a)도 내지 (d)도에 나타낸 바와 같이, 단순승법연산(Instrinsic Multiplication), 버터플라이 연산(Butterfly Operation), 전치가산승법(Pre-added Multiplication)이 포함된다. 제7도에 도시한 또하나의 조합연산은 사후감산승법(Post-subtracted Multiplication)이라 불리우며, IDCT측의 처리 프로세서에 이용된다. 따라서, 1차원의 DCT의 프로세스로부터 12회의 버터플라이연산, 5회의 전치가산승법 및 8회의 단순승법이 실행되었다고 귀납할 수 있으며, 이들 연산은 다시 여섯의 조작 스템으로 나뉘어 순서대로 행해진다. 그 순서는,In particular, three types of operations are defined in the processor. As shown in Figs. 7 (a) to (d), Instrinsic Multiplication, Butterfly Operation, and Pre-Addition Method are used. added Multiplication). Another combination operation shown in FIG. 7 is called post-subtracted multiplication and is used for the processing processor on the IDCT side. Therefore, it can be inferred that 12 butterfly operations, 5 pre-addition methods, and 8 simple multiplication methods have been executed from the process of the one-dimensional DCT, and these operations are further divided into six operating systems and performed in order. The order is
제1의 조작스텝 : 4회의 버터플라이연산의 실행,1st operation step: 4 times of butterfly operation
제2의 조작스텝 : 2회의 전치가산승법연산의 실행,Second operation step: execution of two transposition addition operations;
제3의 조작스텝 : 재차 4회의 버터플라이연산의 실행,Third operation step: execute the butterfly operation again 4 times,
제4의 조작스텝 : 3회의 전치가산승법연산의 실행,Fourth operation step: execution of three transposition addition method,
제5의 조작스텝 : 다시 4회의 버터플라이연산의 실행,Fifth Operation Step: Perform Four More Butterfly Operations,
제6의 조작스텝 : 8회의 단순승법연산의 실행,6th operation step: execution of 8 simple multiplication operations,
이며, 이와같이 하여 1차원의 DCT가 완성된다. 만약, 이 1차원의 조작스텝을 역순으로 하면, 제8도에 도시한 바와같은 1차원 IDCT를 얻을 수 있다. 이 1차원 IDCT는 마찬가지로 여섯가지의 조작 스템의 순번으로 연산이 행해지지만, 제1의 조작스템에서는 단순승법연산, 제2, 제4 및 제6의 조작스템에서는 버터플라이연산, 제3 및 제5의 조작 스템에서는 사후감산승법의 연산이 실행된다.In this way, the one-dimensional DCT is completed. If this one-dimensional operation step is reversed, one-dimensional IDCT as shown in Fig. 8 can be obtained. Similarly, this one-dimensional IDCT is performed in the order of six operating systems, but the simple multiplication operation is performed in the first operating system, the butterfly operation is performed in the second, fourth and sixth operating systems, and the third and fifth operations are performed. The operation of post-subtraction multiplication is performed in the operating system of.
본 발명은 상기 고속연산법의 기초로서 설계된 DCT/IDCT 직접회로 프로세서에 관한 것으로, 그 특유한 하드웨어 구성에 의해 예를들어 8×8 블럭데이타를 상기 6의 조작스텝으로 순차로 연산할 수 있으며, 1차원의 DCT/IDCT를 완성한 후, 재차 순서를 바꾸어(transpose) 한번 더 1차원의 DCT/IDCT를 행하여 2차원변환을 완성시킬 수 있는 것이다. 한편, 종래의 DCT/IDCT 프로세서는 거의 방대한 하드와이어드논리(Hardwired Logic)를 이용함으로써 긴밀한 파이프라인 작업을 달성시키도록 처리 속도를 향상시키고 있으며, 이로 인해 원가가 극히 높지만 사실상 일반의 응용환경에 있어서는 이러한 긴밀하고도 고속의 타이밍을 필요로 하지 않아도 즉시 응답의 변환처리를 달성할 수 있다.The present invention relates to a DCT / IDCT integrated circuit processor designed as the basis of the high-speed calculation method, and according to the unique hardware configuration, for example, 8 × 8 block data can be sequentially calculated in the six operation steps, 1 After completing the DCT / IDCT of the dimension, it is possible to complete the two-dimensional transformation by transposing again one-dimensional DCT / IDCT. Conventional DCT / IDCT processors, on the other hand, use nearly massive hardwired logic to increase processing speeds to achieve tight pipeline operations, resulting in extremely high cost but virtually no ordinary application. The response conversion process can be achieved immediately without requiring close and high speed timing.
따라서, 본 발명은 상기 종래의 DCT/IDCT 프로세서의 결점을 감안하여, 하드웨어의 구조가 간단하면서도 정역순 연산 가능하고, 동시에 대폭 직접회의 점유 공간을 축소하여 원가를 낮출 수 있으며, 또한 일반의 사용환경에 부합되는 실시간처리의 요구에 대응할 수 있고 처리 속도를 증배할 수 있어 보다 높은 비트율에도 적용되는 정역순 연산가능한 DCT/IDCT용 직접회로 프로세서 및 그 처리방법의 제공을 목적으로 한다.Accordingly, the present invention, in view of the shortcomings of the conventional DCT / IDCT processor, the hardware structure is simple, but can be reverse-order operation, and at the same time it can reduce the cost by greatly reducing the occupied space of the direct meeting, and also the general use environment The purpose of the present invention is to provide a DCT / IDCT integrated circuit processor capable of addressing real-time processing and increasing the processing speed, which can be applied to higher bit rates, and a processing method thereof.
상기 목적을 달성하기 위하여 본 발명은, 외부로부터의 데이타가 입력되는 입력순단과, 버터플라이 연산을 실행하는 버터플라이 연산수단과, 단순승법연상을 실행하는 승법연산수단과, 이 승법연산수단과 결합하여 전치가산승법연산 또는 사후감산승법연산을 실행하는 보조 가감산수단과, 4개의 핀에 의해 기입/독출포트를 구성하여 연산과정의 중간 결과를 억세스하는 데이타 레지스터를 조합함으로써 정역 2회의 1차원DCT/IDCT 연산을 가능케 함과 동시에, 각회의 1차원 DCT/IDCT 연산을 3스텝의 버터플라이 연산과 1스텝의 단순한 승법연산 및 2스텝의 보조 가감을 거친 승법연산을 포합하는 6가지 연산스텝에 의해 구성된다.In order to achieve the above object, the present invention provides an input sequence for inputting data from the outside, a butterfly calculation means for executing a butterfly operation, a multiplication operation means for performing a simple multiplication association, and the multiplication operation means. Two-dimensional one-dimensional DCT / A by combining auxiliary registers for performing pre-addition multiplication or post-subtraction multiplication, and data registers for writing and reading ports by four pins to access intermediate results of the calculation process. In addition to enabling IDCT operations, each one-dimensional DCT / IDCT operation consists of six operation steps including three steps of butterfly operation, one step of simple multiplication operation, and two steps of multiplication operation. do.
본 발명은 상기 각 연산구성에 의해 정역 2회의 1차원 DCT/IDCT 연산을 실행할 수 있음과 동시에, 각각 버터플라이 연산수단과 승법연산수단에 의해 파이프 라인 작업방법의 병렬처리를 할 수 있으므로, 정역순 연산 가능한 프로세서의 집적회로의 용적을 대폭 축소할 수 있음과 동시에 일반의실시간 처리의 요구에 부응할 수 있다. 또한, 이 프로세서두개의 서로 두 직렬로 하면 양자의 파이프 라인 작업방식으로부터 각각이 블럭 데이타의 제1 및 제2의 1차원 DCT/IDCT 연산을 행할 수 있으므로, 처리속도를 한층 향상시킬 수 있어 보다 높은 비트율의 응용에 적합하다.According to the present invention, the two-dimensional one-dimensional DCT / IDCT operation can be executed by each of the above-described calculation configurations, and the parallel operation of the pipeline work method can be performed by the butterfly calculation means and the multiplication operation means, respectively. The volume of the integrated circuit of the arithmetic processor can be greatly reduced, and at the same time, it can meet the needs of general real-time processing. In addition, when the two processors are serialized to each other, the first and second one-dimensional DCT / IDCT operations of the block data can be respectively performed from both pipeline working methods, thereby further improving the processing speed. Suitable for bit rate applications.
제1도는 본 발명에 따른 직접회로 프로세서의 실시예이다.1 is an embodiment of an integrated circuit processor according to the present invention.
본 직접회로 프로세서는 입력수단(1), 버터플라이 연산수단(2), 승법연산수단(3), 데이타 레지스터(4), 출력수단(5) 및 제어수단(6)을 구비하고 있다. 그 중 입력수단(1)은 디멀티플렉서로 구성되어 있으며, 외부로부터의 데이타(Din)를 DCT 연산 또는 IDCT 연산에 따라 선택하여 버터플라이 연산수단(2) 또는 승법연산수단(3)으로 보낸다.The integrated circuit processor includes an input means 1, a butterfly calculation means 2, a multiplication operation means 3, a data register 4, an output means 5 and a control means 6. Among them, the input means 1 is composed of a demultiplexer, and selects data Din from the outside according to a DCT operation or an IDCT operation and sends it to the butterfly calculation means 2 or the multiplication operation means 3.
버터플라이 연산수단(2)은 제1의 전치 멀티플렉서(21) 및 버터플라이 연산기(22)를 포함하고 있다. 버터플라이 연산기(22)는 1쌍의 가산기 및 감산기에 의해 구성된다. 버터플라이 연산수단(2)은 전치 멀티플렉서(21)에 의해 입력수단(1) 또는 데이타 레지스터(4)로부터의 출력데이타를 선택하여 버터플라이 연산기(22)로 버터플라이 연산을 행하며, 그 연산 결과를 데이타 레지스터(4)에 기입하거나 출력수단(5)으로부터 외부로 출력한다.The butterfly calculating means 2 comprises a first premultiplexer 21 and a butterfly calculator 22. The butterfly operator 22 is composed of a pair of adders and subtractors. The butterfly calculating means 2 selects the output data from the input means 1 or the data register 4 by the premultiplexer 21, and performs the butterfly calculation with the butterfly calculator 22, and the result of the calculation is calculated. It writes to the data register 4 or outputs it externally from the output means 5.
승법연산수단(3)의 제2의 전치 멀티플렉서(31), 보조 가감산기(32), 곱셈(33), 계수 ROM(34) 및 출력선택기(35)를 구비하고 있다. 계수 ROM(34)는 승법연산의 계수 부분을 저장하는 것이며, 여기서 저장되어 있는 데이타는 곱셈기(33)의 오퍼랜드(operand)로서 이용된다. 승법연산수단(3)은 단순승법, 전치가산승법 및 사후감산승법의 연산을 담당하며, 그 입력데이타는 입력수단(1) 또는 데이타 레지스터(4)로부터 송출되어 각 연산에 따라 제2의 전치 멀티플렉서(31) 또는 보호 가감산기(32)에 보내지며, 연산결과는 출력선택기(35)를 개재시켜 데이터 레지스터(4)에 재기입된다. 곱셈기(33)의 출력이 출력수단(5)을 경유하여 외부로 보내진다. 또한 승법연산수단(3)이 단순승법연산을 실행하고 있는 경우, 입력데이타가 전치 멀티플렉서(31)의 선택에 의해 곱셈기(33)에 주어지며, 여기에 계수 ROM(34)로부터의 대응 어드레스 계수가 서로 승산됨으로써 단순승법연산이 완성된다. 또한 전치가산승법연산의 경우, 데이타 레지스터(4)로부터 출력되는 양 데이타 보조가감산기(32)로 보내져 양자가 가산된 후 그 결과가 곱셈기(33)로 보내져 계수 ROM(34)으로부터의 대응어드레스의 계수와 서로 승산됨으로써 전치가산 승법연산이 완료된다. 또한, 사후감산 승법연산의 경우에는 마찬가지로 데이타 레지스터(4)로부터 출력되는 양데이타가 하나는 제2의 전치 멀티플렉서(31), 다른 하나는 보조 가감산기(32)에 각각 보내져 전치 멀티플렉서(31)로 보내진 데이타는 곱셈기(33)에 입력되어 단순승법연산이 실행되며, 그 연산결과가 보조 가감산기(32)로 보내지며, 이전에 입력되어 있는 다른 하나의 데이타와 감산됨으로써 양자의 차가 사후감산 승법연산의 결과가 된다.A second premultiplexer 31, an auxiliary adder and subtractor 32, a multiplication 33, a coefficient ROM 34, and an output selector 35 of the multiplication operation means 3 are provided. The coefficient ROM 34 stores the coefficient portion of the multiplication operation, where the stored data is used as an operand of the multiplier 33. The multiplication operation means (3) is responsible for the calculation of the simple multiplication method, the pre-addition multiplication method, and the post-subtraction multiplication method. (31) or the protection adder / subtractor 32, and the operation result is rewritten into the data register 4 via the output selector 35. The output of the multiplier 33 is sent to the outside via the output means 5. In addition, when the multiplication operation means 3 performs the simple multiplication operation, input data is given to the multiplier 33 by selection of the premultiplexer 31, and the corresponding address coefficient from the coefficient ROM 34 is By multiplication, the simple multiplication operation is completed. In addition, in the preaddition multiplicative operation, both data auxiliary subtractors 32 output from the data register 4 are added, both are added, and the result is sent to the multiplier 33 so that the corresponding address from the coefficient ROM 34 can be obtained. The multiplication with the coefficients completes the pre-add multiplication operation. In addition, in the case of post-subtraction multiplication, similarly, both data output from the data register 4 are sent to the second premultiplexer 31 and the other to the auxiliary adder 32 to the premultiplexer 31, respectively. The sent data is input to the multiplier 33, and a simple multiplication operation is performed, and the result of the operation is sent to the auxiliary adder and subtractor 32, and the difference between them is subtracted by another subtracted previously input data. Results in:
데이타 레지스터(4)는 4포트의 레지스터 수단으로 구성되어있으며, RAM등에 의해 연산과정의 중간결과 데이타를 저장한다. 그 4포트의 구조는 2쌍의 기입/독출(WP1-RP1, WP2-RP2)로 나눌 수 있으며, 각각 버터플라이 연산수단(2) 및 승법연산수단(3)의 데이타 억세스경로로 한다.The data register 4 is constituted by four port register means, and stores intermediate result data of the calculation process by RAM or the like. The four-port structure can be divided into two pairs of write / read (WP1-RP1 and WP2-RP2), respectively, which are data access paths of the butterfly calculating means 2 and the multiplication operation means 3, respectively.
출력수단(5)은 멀티플렉서를 구비하여 구성되어 있으며, IDCT 연산 또는 DCT 연산인가에 따라 버터플라이 연산기(22) 또는 곱셈기(33)로부터의 출력을 선택하여 외부로의 출력데이타로 한다. 또한, 제어수단(6)은 제어시퀀스를 발생시키기 위해 이용디며, 상기 각 수단의 조작순서를 제어하는 것이다.The output means 5 is provided with a multiplexer, and selects the output from the butterfly operator 22 or the multiplier 33 according to application of IDCT operation or DCT operation to output data to the outside. In addition, the control means 6 is used to generate a control sequence, and controls the operation procedure of each said means.
제2도 및 제3도는 상기 구성에 입각하여 본 프로세서가 DCT/IDCT 연산을 행하는 순서에 대해 나타내고 있다. 도면에 있어서, 블럭(N)에 대해 전후 2회의 1차원 변환 제1 1-D DCT/IDCT 및 제2 1-D DCT/IDCT가 실행됨과 동시에, 각회의 1차원 변환에 있어서, 6가지 조작스텝에 있어서의 버터플라이연산과 승법연산이 순서대로 행해지며, 각각 버터플라이 연산수단(2)과 승법연산수단(3)에 의해 파이프라인 작업방직으로 병렬 처리된다. 제2도에 도시되는 DCT에 있어서, 제1,제3,제5스텝에서는 버터플라이 연산이 행해지며, 제2 및 제4의 스텝에서는 전치가산 승법연산, 제6의 스텝에서는 단순승법연산이 행해진다. 또한, 제3도에 도시되는 IDCT에 있어서, 제1의 스텝에서는 단순승법연산이 행해지며, 제3,제5스텝에서는 사후감산 승법연산, 그리고, 제2,제4,제6의 스텝에서는 버터플라이 연산이 행해진다. 또한, 제1의 1차원 변환(즉, 제1 1-D DCT/IDCT)의 제1스텝연산과 동시에 Din으로부터 데이타가 입력되고, 제2의 1차원 변환(즉, 2 1-D DCT/IDCT)의 제6스텝의 연산이 실행되고 있을 때에 그 결과가 외부(Dout)로부터 출력된다.2 and 3 show the order in which the present processor performs a DCT / IDCT operation based on the above configuration. In the figure, two front and rear one-dimensional transformed first 1-D DCT / IDCT and second 1-D DCT / IDCT are executed for the block N, and six operation steps in each one-dimensional transform are performed. The butterfly operation and the multiplication operation in s are performed in order, and the butterfly operation means 2 and the multiplication operation means 3 each perform parallel processing in a pipeline working weave. In the DCT shown in FIG. 2, the butterfly operation is performed in the first, third, and fifth steps, the pre-addition multiplication operation is performed in the second and fourth steps, and the simple multiplication operation is performed in the sixth step. All. In the IDCT shown in FIG. 3, the simple multiplication operation is performed in the first step, the post-subtraction multiplication operation in the third and fifth steps, and the butter in the second, fourth and sixth steps. The fly operation is performed. Further, data is input from Din at the same time as the first step operation of the first one-dimensional transform (i.e., the first 1-D DCT / IDCT), and the second one-dimensional transform (i.e., 2 1-D DCT / IDCT). When the sixth step is executed, the result is output from the outside (Dout).
그리고, 각 스텝의 연산데이타는 외부와의 입력 및 출력을 제거하여 모든 데이타 레지스터(4)를 소스 또는 목적지(데스티네이션)로 되어 있으며, 전회의 스텝을 경과한 결과가 후속되는 순회의 스텝에 유래되어 있으며, 데이타 레지스터(4)의 억세스 방식은 동일 블럭에 있어서의 2회의 1차원 변환이 서로 순서를 바꾸는 것을 필요로 하며, 예를들어 제1의 차원 변환이 행 순서로 억세스되었다고 하면, 제2의 1차원 변환은 반드시 열 순서로 억세스된다. 또한, 그 반대의 경우는 그렇다. 그러나, 서로 인접하는 양블럭간, 즉 이전블럭의 제2의 1차원 변환과 다음 블럭의 제1의 1차원 변환과의 억세스 순서는 불변이다. 또한 버터플라이승법 연산수단(2) 및 승법연산수단(3)은 데이타(4)의 개벌의 기입/독출포트로부터 동시에 데이타 레지스터(4)에 대해 데이타 억세스를 행할 수 있으며, 따라서 상기 양 연산수단(2),(3)을 이용하여 파이프라인 작업방식으로 병렬 처리를 시킬 수 있음과 동시에, 같은 종류의 연산 스텝이 차례로 동일 연산수단 속에서 잇따라 실행되는 것이다.The operation data of each step removes inputs and outputs from the outside, and all data registers 4 are source or destination (destination). The access method of the data register 4 requires two one-dimensional transforms in the same block to be reversed. For example, if the first dimensional transform is accessed in the row order, the second method is used. The one-dimensional transform of is necessarily accessed in column order. And vice versa. However, the order of access between the adjacent two blocks, that is, the second one-dimensional transform of the previous block and the first one-dimensional transform of the next block is unchanged. In addition, the butterfly multiplication operation means 2 and the multiplication operation means 3 can perform data access to the data register 4 simultaneously from the individual write / read ports of the data 4, so that both calculation means ( Using 2) and (3), parallel processing can be performed by the pipeline work method, and the same kind of operation steps are executed in sequence in the same operation means.
이하, 이를 실시예와 함께 설명하면, (1) DCT를 실행하는 경우, 예를 들어 8×8의 화소 블럭이 64개의 화소 데이타로서 행(또는 열)의 순서로 Din으로부터 입력되며, 입력수단(1)의 선택을 거쳐 버터플라이 승법연산수단(2)으로 보내져 제1스텝의 연산이 실행된다. 이는 버터플라이연산이며, 그결과는 기입포트(WP1)로부터 데이타 레지스터(4)에 기입되며, 이어서 독출포트(RP1)로부터 데이타 레지스터(4)에 기입되며, 이어서 독출포트(RP1)로부터 독출되어 승법연산수단(3)으로 보내져 제2스텝의 연산이 진행된다. 이것이 전치가산승법연산이다. 이어서, 전치가산승법연산의 결과가 또 하나의 기입포트(WP2)로부터 데이타 레지스터(4)에 재기입됨과 동시에 제1스텝의 연산이 완성되는 것을 기다린 후 다른 하나의 옥출포트(RP2)로부터 앞의 2회 스텝연산의 결과가 독취되어 버터플라이승법 연산수단(2)으로 보내져 제3의 스텝 연산이 지행된다. 그 연산결과는 기입포트(WP1)에 의해 데이타 레지스터(4)에 재기입된다. 마찬가지의 견지에서 제4스텝의 연산이 제2스텝의 연산후에 이어 승법연산수단(3)으로 행해지며, 제5스텝의 연산이 제3스텝의 연산후에 이어서 버터플라이승법 연산수단(2)으로 행해진다. 제6스텝연산은 제4스텝 연산후에 승법연산수단(3)에 있어서 단순승법연산이 실행되며, 이들 결과가 함께 데이타 레지스터(4)에 재기입된다. 그리고 제6의 스텝연산이 종료하면 제1의 1차원 DCT가 완성된다.The following description will be given with examples. (1) When DCT is executed, for example, 8 × 8 pixel blocks are input from Din in the order of rows (or columns) as 64 pixel data, and input means ( After selection 1), it is sent to the butterfly multiplication operation means 2 to perform the calculation of the first step. This is a butterfly operation, the result of which is written to the data register 4 from the write port WP1, and then to the data register 4 from the read port RP1, which is then read from the read port RP1 and multiplied. It is sent to the calculating means 3, and calculation of a 2nd step progresses. This is the transpositional multiplication operation. Subsequently, the result of the preaddition multiplication operation is rewritten from another write port WP2 to the data register 4 and waits for the completion of the operation of the first step, and then from the other exit port RP2. The result of the two step operations is read and sent to the butterfly multiplication method 2 to perform the third step operation. The result of the calculation is written back to the data register 4 by the write port WP1. In the same manner, the operation of the fourth step is performed by the multiplication operation means 3 after the operation of the second step, and the operation of the fifth step is performed by the butterfly multiplication operation means 2 after the operation of the third step. All. In the sixth step operation, after the fourth step operation, the simple multiplication operation is performed by the multiplication operation means 3, and these results are rewritten together in the data register 4 together. When the sixth step operation is completed, the first one-dimensional DCT is completed.
그후, 순서를 반대로 하여, 즉 열(또는 행)의 순서로 RP1에 의해 데이타 레지스터(4)로부터 데이타를 독취하여 버터플라이승법 연산수단(2)으로 보내 제2의 1차원 DCT의 제1의 스텝 연산을 개시한다. 그후의 각스텝의 연산방식은 제1의 1차원 DCT와 동일하지만, 상이한 것은 최후에 있어서의 제6스텝의 연산결과가 데이타 레지스터(4)에 재기입되 않고 직접 승법연산수단(3)의 곱셈기(33)로부터 출력되어, 출력수단(5)을 개재시켜 외부(Dout)로 출력되는 점에 있다. 이 최종 출력은 블럭화소에 관한 DCT 연산된 주파수 영역 데이타이다.Then, the order is reversed, that is, the data is read from the data register 4 by RP1 in the order of the columns (or rows) and sent to the butterfly multiplication operation means 2, the first step of the second one-dimensional DCT. Start the operation. The operation method of each step thereafter is the same as that of the first one-dimensional DCT, but the difference is that the operation result of the sixth step at the end is not rewritten in the data register 4, but the multiplier of the multiplication operation means 3 directly ( 33 is outputted to the outside Dout via the output means 5. This final output is the DCT computed frequency domain data for the block pixel.
(2) IDCT를 실행하는 경우에는 64개의 주파수영역 데이타가 행(또는 열)의 순서로 Din으로부터 입력수단(1)으로 입력되고, 그 선택에 따라 승법연산수단(3)으로 보내져 제1의 스텝연산이 행해진다. 이는 단순승법연산으로, 그 결과는 기입포트(WP2)에 의해 데이타 레지스터(4)에 기입되며, 다음에 독취포트(RP1)으로부터 독취되어 버터플라이승법 연산수단(2)으로 보내지며, 이로써 제2의 스텝연산이 행해진다. 이는 버터플라이연산에 속하며, 그 결과는 다른 하나의 기입포트(WP1)에 의해 데이타 레지스터(4)에 재기입된다. 제3스템은 사후감산 승법연산으로서, 이는 독출포트(RP2)에 의해 제2스텝연산의 결과가 독취되어 승법연산수단(3)으로 보내져, 제1의 스텝연산 후에 이어서 실행된다. 그 연산결과는 WP2에 의해 데이타 레지스터(4)에 재기입된다. 마찬가지의 견지에서 제4스텝의 연산은 제2의 스텝의 연산후에 버터플라이승법 연산수단(2)에 의해 실행되며, 제5스텝의 연산은 제3의 스텝의 연산후에 승법연산수단(3)에서 실행된다. 그리고, 제6스텝의 연산은 제4스텝연산후에 이어서 버터플라이 승법연산수단(2)으로 실행되며, 이에 따른 연산결과는 데이타 레지스터(4)에 재기입되며, 이와같이 제6스텝연산이 종료됨으로써 제1의 1차원 IDCT가 완성된다.(2) In the case of executing IDCT, 64 frequency domain data are input from the Din to the input means 1 in the order of rows (or columns), and are sent to the multiplication operation means 3 according to the selection, and the first step. The operation is performed. This is a simple multiplication operation, the result of which is written to the data register 4 by the write port WP2, which is then read from the read port RP1 and sent to the butterfly multiplication operation means 2, whereby the second Step operation is performed. It belongs to the butterfly operation, and the result is written back to the data register 4 by the other write port WP1. The third system is a post subtraction multiplication operation, which reads the result of the second step operation by the read port RP2 and sends it to the multiplication operation means 3, which is subsequently executed after the first step operation. The result of the calculation is written back to the data register 4 by the WP2. In the same sense, the calculation of the fourth step is performed by the butterfly multiplication operation means 2 after the calculation of the second step, and the calculation of the fifth step is performed by the multiplication operation means 3 after the calculation of the third step. Is executed. The operation of the sixth step is executed by the butterfly multiplication operation means 2 after the fourth step operation, and the result of the operation is rewritten in the data register 4, and thus the sixth step operation is completed. One-dimensional IDCT of 1 is completed.
이러서, RP2에서는 열(또는 행)의 순서로 데이타 레지스터(4)로부터 데이타를 독취하여, 승법연산수단(3)에 보내고, 이로써 제2의 1차원 IDCT에 있어서의 제1스텝의 연산이 개시된다. 그후의 각 스텝의 연산은 모두 제1의 1차원 IDCT와 마찬가지이지만, 다른 것은 최종적인 6스텝의 연산결과가 데이타 레지스터(4)에 재기입되지 않고 출력수단(5)을 개재시켜 외부(Dout)로 출력되는 점에 있다. 이 최종적인 출력은 IDCT 복원을 거친 화소데이타이다.Thus, in RP2, data is read from the data register 4 in the order of columns (or rows) and sent to the multiplication operation means 3, whereby the operation of the first step in the second one-dimensional IDCT is started. do. The operation of each subsequent step is the same as that of the first one-dimensional IDCT, but the other is that the final six-step operation result is not rewritten into the data register 4, but is outputted through the output means 5 to the outside (Dout). Is in the output point. This final output is pixel data after IDCT reconstruction.
제4도는 본 발명에 따른 프로세서의 다른 실시예를 나타낸 것으로, 이는 제1도에 도시한 양 기본 모듈을 직렬한 것으로, 파이프라인 작업에 의해 블럭데이타의 2회의 1차원 DCT/IDCT를 처리하여, 즉 양 모듈이 각각 1회의 1차원 변환의 6스텝의 연산을 순서대로 순회 실행하는 것이다.Figure 4 shows another embodiment of a processor according to the present invention, which is a series of both basic modules shown in Figure 1, by processing two one-dimensional DCT / IDCT of block data by a pipeline operation, In other words, the two modules each execute one step six operations of one-dimensional transformation in order.
이 프로세서는 주로 제1의 1차원 처리수단(7), 제2의 1차원 처리수단(8) 및 제어수단(9)을 구비하고 있다. 제1의 1차원 처리수단(7)은 입력수단(71)과 전치 멀티플렉서(721) 및 버터플라이 연산기(722)를 가지는 제1의 버터플라이 연산수단(72)과 전치 멀티플렉서(731), 보조 가감산기(732), 곱셈기(733), 계수ROM(734) 및 출력선택기(735)를 가지는 제1의 승법연산수단(73)과, 블럭데이타의 입력이나 제1의 1차원 변환을 실행하는 제1의 데이타 레지스터(74)를 구비하고 있다. 제1의 데이타 레지스터(74)는 전치 메모리(transpose memory)를 겸하고 있으며, 제2의 1차원 처리수단(8)의 입력데이타의 출처가 된다.The processor is mainly provided with a first one-dimensional processing means 7, a second one-dimensional processing means 8 and a control means 9. The first one-dimensional processing means 7 is the first butterfly calculating means 72 and the premultiplexer 731 having the input means 71, the premultiplexer 721, and the butterfly operator 722, the auxiliary addition and subtraction. A first multiplication operation means (73) having a calculator (732), a multiplier (733), a coefficient ROM (734), and an output selector (735), and a first for performing block data input or first one-dimensional conversion. Data register 74 is provided. The first data register 74 also serves as a transpose memory and serves as a source of input data of the second one-dimensional processing means 8.
한편, 제2의 1차원 처리수단(8)은 전치 멀티플렉서(811) 및 버터플라이 연산기(812)를 가지는 제2의 버터플라이 연산수단(81)과, 전치 멀티플렉서(821), 보조 가감산기(822), 곱셈기(823) 및 출력선택기(824)를 가지는 제2의 승법연산수단(82)과, 제2의 데이타 레지스터(83)와, 출력수단(84)를 구비하고 있다. 제2의 승법연산수단(82)의 곱셈기(823)의 연산입력단은 제1의 승법연산수단(73)에 연접되어 있으며, 제1의 승법연산수단(73)의 계수ROM(734)과 공용할 수 있도록 되어 있다. 제2의 1차원 처리수단(8)은 블럭데이타의 제2의 1차원변환 및 최종 결과의 출력을 행한다. 제어수단(9)은 이들 제1 및 제2의 1차원 처리수단(7),(8)의 실행 프로세스를 제어하기 위해 이용된다.On the other hand, the second one-dimensional processing means 8 includes the second butterfly computing means 81 having a premultiplexer 811 and a butterfly operator 812, a premultiplexer 821, and an auxiliary adder and subtractor 822. Second multiplication operation means 82 having a multiplier 823 and an output selector 824, a second data register 83, and an output means 84. The operation input terminal of the multiplier 823 of the second multiplication operation means 82 is connected to the first multiplication operation means 73, and can be shared with the coefficient ROM 734 of the first multiplication operation means 73. It is supposed to be. The second one-dimensional processing means 8 performs a second one-dimensional transform of the block data and outputs the final result. The control means 9 are used to control the execution process of these first and second one-dimensional processing means 7, 8.
상기 구성에 따르면, DCT/IDCT 연산의 실행 순서는 제5도에 도시한 바와 같이, 1차원 처리수단(7),(8)의 파이프라인 작업에 의해 블럭 데이타의 DCT/IDCT 연산이 실행되며, 블럭(N)의 입력데이타가 Din으로부터 제1의 1차원 처리수단(7)에 들어옴과 동시에 이전블럭(N-1)의 제1의 1차원 변환을 거친 결과가 제1의 데이타 레지스터(74)의 독출포트(RP1A)(DCT 실행시) 또는 RP2A(IDCT 실행시)로부터 제2의 1차원 처리수단(8)으로 보내지며, 1차원 처리수단(7),(8)이 각각 1회의 1차원변환의 6스텝 연산을 순서대로 순회실행하고, 이전 블럭(N-1)의 최후의 결과가 출력수단(84)의 출력단으로부터 외부(Dout)로 송출된다. 블럭(N)의 제1의 1차원 변환된 결과는 제1의 데이타 레지스터(74)에 저장되면 제1의 데이타 레지스터(74)는 연속 블럭사이드에서 반드시 열 또는 행의 호환 순서에 따라 데이타 억세스를 행한다. 이러한 구조에 의해 처리 속도를 향상시킬 수 있으며, 높은 바이트율의 응용 환경에 적용될 수 있는 것이다.According to the above arrangement, the execution order of the DCT / IDCT operation is as shown in FIG. 5, in which the DCT / IDCT operation of the block data is executed by the pipeline work of the one-dimensional processing means 7 and 8, As the input data of the block N enters the first one-dimensional processing means 7 from Din and the first one-dimensional conversion of the previous block N-1 is performed, the first data register 74 results. Is sent to the second one-dimensional processing means 8 from the read port RP1A (when executing the CTCT) or the RP2A (when executing the IDCT), and the one-dimensional processing means 7 and 8 are each one-time. The six step operations of the conversion are executed in order, and the last result of the previous block N-1 is sent from the output end of the output means 84 to the outside Dout. When the first one-dimensional transformed result of the block N is stored in the first data register 74, the first data register 74 always performs data access in a row or row compatibility order on the continuous block side. Do it. Such a structure can improve the processing speed and can be applied to a high byte rate application environment.
상기 형태에 있어서의 기본적 사상에는 3가지가 있는데, 그 하나는 순회 실행이며, 다른 하나가 병렬처리, 그리고 하나는 처리속도의 배속 향상이다.There are three basic ideas in this form, one for cyclic execution, the other for parallel processing, and one for speedup of processing speed.
그중 순회 실행은 동일 하드웨어를 이용하여 순회 실행을 수회행하여 어느 작업을 달성하는 것을 의미하며, 즉 시간으로 바꾸어 공간을 얻을 것으로서, 하드웨어를 줄여 원가 절감을 꾀하여 실질적인 작업시간을 중간시키는 것을 의미한다.Among them, the circuit execution means to accomplish a task by performing the circuit execution several times using the same hardware, that is, to convert the space to time to obtain space, and to mean the actual work time by reducing the hardware to reduce the cost.
또한, 병렬처리는 순회 실행과는 반대로 공간으로 바꾸어 시간을 얻는 것으로서, 즉 순회 실행의 구성하에서 실시간의 속도를 달성하기 위해 2개의 독립수단을 이용하여 병렬처리를 행하여, 작업시간을 그다지 지연시키지 않도록 하는 것을 의미한다. 또한, 상기 실시예중의 병렬처리의 구성은 이에 해당하며, 하기의 처리속도의 배속 향상의 직렬구성과 상대되는 것이다.In addition, parallel processing takes time by switching to space as opposed to circular execution, that is, parallel processing is performed using two independent means to achieve real-time speed under the configuration of the circular execution, so as not to delay the working time so much. I mean. Incidentally, the configuration of parallel processing in the above embodiment corresponds to this, and corresponds to the serial configuration of double speed improvement of the following processing speed.
또한, 처리속도의 배속 향상은 상기 순회 실행 및 병렬처리의 구성하에서 더 빠른 비트율로 처리하는 경우, 처리 속도상 실시간으로 처리를 실현하기 위해 더 한층 공간을 바꾸어 시간을 얻는 것이 필요해지기 때문인 것으로 직렬방식에 속한다.In addition, the improvement of the processing speed is due to the fact that when processing at a higher bit rate under the configuration of the above-mentioned execution and parallel processing, it is necessary to obtain more time by changing the space in order to realize the processing in real time on the processing speed. Belongs to.
본 발명에 따른 연산수법은 상기 3가지의 사상을 포함하고 있으며, 따라서 DCT 또는 IDCT에 관계없이 모두 2회의 동일한 순서의 연산수법을 포함함과 동시에 각 회의 연산이 여섯의 연산스텝을 포함하며, 각각 여섯의 연산스텝을 2종류의 연산(버터플라이연산과 승법연산)으로 분별할 수 있으며, 이들 연산이 교호로 행해진다. 즉, 이 특징이 본 발명에 따른 구성 및 실행방법을 형성하고 있다.The arithmetic method according to the present invention includes the above three ideas, and thus includes two arithmetic operations in the same order, regardless of DCT or IDCT, and each arithmetic operation includes six arithmetic steps, respectively. The six operation steps can be classified into two types of operations (butterfly operation and multiplication operation), and these operations are performed alternately. In other words, this feature forms a configuration and an implementation method according to the present invention.
예를 들어 제1도에 있어서는 순회 실행 및 병렬처리의 양 특징이 이용되고 있으며, 이 구성으로 DCT/IDCT를 행하면 12스텝(2회의 10D DCT/IDCT)의 순회 실행이 필요하지만, 이 12스텝은 다시 양 독립연산수단(버터플라이 연산수단과 승법 연산수단)에 의해 각각 6스텝으로 병렬처리를 분담시키고 있으므로, 이에 따라 제2도 및 제3도에 나타난 바와 같이 하나의 블럭을 처리하는데 12스텝분의 시간이 아니라 거의 6스텝의 시간만으로 충분하며, 또한 어느 시점에서 보아도 양 연산이 거의 완전히 작동되고 있다.For example, in Fig. 1, both characteristics of the traversal execution and the parallel processing are used. When DCT / IDCT is performed in this configuration, 12 steps (2 times of 10D DCT / IDCT) need to be executed. In addition, since the parallel processing is divided into six steps by two independent calculation means (butterfly calculation means and multiplication operation means), 12 steps are required to process one block as shown in FIGS. Only six steps are sufficient, not a time, and both operations are almost completely operational at any point in time.
또한, 실행순서로 보면 각 스텝은 64개의 데이타(열 또는 행의 순서로 실행되며, 각 열 또는 행이 각각 8개의 데이타를 포함하여 모두 8열 또는 8행이 있다)를 처리해야 하며, 제1의 스텝에서 복수개의 데이타를 처리해야 하며, 제1의 스텝에서 복수개의 데이타를 처리한 후(여기서 말하는 복수개의 데이타는 DCT와 IDCT에서는 약간 다르지만), 제2의 스텝이 제1의 스텝의 결과에 대해 계속적으로 처리함과 동시에 이전 블럭에 있어서의 최후의 스텝(즉, 두번째 1-D의 제6스텝)이 어느 만큼 길어졌는가에 따라 결정하며, 만약 처음부터 제1개의 블럭을 처리한다고 하며 복수개의 데이타는 가장 많아 8개(1열 또는 1행)이며, DCT, IDCT 모두 그렇다. 그리고, 제3의 스텝이 제1의 스텝과 동일 종류의 연산에 속하고 있으므로, 제1의 스텝이 64개의 데이타를 완전히 처리한 후 접속하고 있으며, 이때 제2의 스텝은 반드시 이미 다수의 데이타를 처리 완료했다고 보증할 수 있으며, 적어도 8개 이상(1열 또는 1행)의 데이타를 제3의 스텝으로 처리시킬 수 있어 대기시킬 필요가 없다.In addition, in order of execution, each step must process 64 data (in the order of columns or rows, each column or row contains 8 data or 8 columns or 8 rows each). A plurality of data must be processed in the step of, and after processing a plurality of data in the first step (although the plurality of data referred to here are slightly different in the DCT and IDCT), the second step is the result of the first step. The last step in the previous block (i.e., the sixth step in the second 1-D) is determined depending on how long it is, and the first block is processed from the beginning. The largest number of data is 8 (1 column or 1 row), DCT and IDCT. In addition, since the third step belongs to the same kind of operation as the first step, the first step is connected after the 64 data have been completely processed. It can be guaranteed that the processing is completed, and at least eight or more (one column or one row) of data can be processed in the third step and there is no need to wait.
또한, 제4,제5 및 제6의 스텝도 마찬가지며, 이러한 연산방식은 하나의 데이타에 이어 하나의 데이타, 하나의 스텝에 이어 하나의 스텝, 1순에 이어 1순(즉, 제1 1-D, 제2 1-D, 제1 1-D,...)과 같이 실행되므로 파이프라인 작업이라 불리운다. 이 파이프라인 작업은 1블럭의 양 순서 연산의 사이(즉 제1 1-D, 와 제2 1-D의 사이)에 약간 중단하지만, 이는 데이타 레지스터수단이 이 임계사이에서 억세스순서를 바꿀 필요가 있기 때문이며(열로부터 행, 행으로부터 열), 그로 인해제2 1-D의 제1스텝은 반드시 제6의스텝이 완전히 종료한 후 시작하는 것으로, 직접 제1 1-D의 제5스텝후에 계속될 수 없으며, 따라서 이때에는 제2 1-D의 제1스텝이 필요로 하는 데이타가 아직 완전히 준비되어 있지 않기 때문이다. 따라서, 개시하고자 해도 개시할 방도가 없는 것이다. 그리고 제2 1-D의 제1스템이 개시되면 그 실행 순서 및 시간은 제1 1-D과 마찬가지이다.The same applies to the fourth, fifth and sixth steps, and the operation method is one data followed by one data, one step followed by one step, and then one after one (i.e., the first one). -D, the second 1-D, the first 1-D, ...) is called a pipeline operation. This pipeline operation stops slightly between one block of both ordered operations (ie between the first 1-D and the second 1-D), but this does not require the data register means to change the access order between these thresholds. This is because the first step of the second 1-D always starts after the sixth step is completely completed, and continues directly after the fifth step of the first 1-D. This is because the data required by the first step of the second 1-D is not yet fully prepared at this time. Therefore, there is no way to start even if it intends to start. When the first system of the second 1-D is started, the execution order and time are the same as those of the first 1-D.
또한 인접하는 양 블럭간의 파이프라인 작업의 중단되는 일이 없고, 따라서 다음 블럭의 데이타가 Din으로부터 들어오기 때문에 제1의 스텝이 대기될 필요가 없어 직접 이전 블럭의 제2 1-D에 있어서의 제5의 스텝후에 이어서 실행할 수 있음과 동시에, 이전 블럭 데이타도 계속 제2 1-D의 제6스텝에 있어서 완성되어 Dout로 보내지므로 데이타 레지스터 수단의 억세스 순서도 열 및 행의 호환을 할 필요가 없다.In addition, pipeline work between two adjacent blocks is not interrupted. Therefore, since the data of the next block comes in from Din, the first step does not need to be waited. After the step 5 is executed, the previous block data is also completed and sent to Dout in the sixth step of the second 1-D, so that the access order of the data register means does not need to be compatible with the columns and rows.
이상, 본 발명에 따르면 구성이 단순화되므로 직접회로의 점유공간을 대폭 축소할 수 있고, 이로 인해 원가가 저감됨과 동시에 처리속도가 향상되므로 실시간 처리의 요구에 부합하여 높은 비트율의 응용 환경에 적용될 수 있다.As described above, according to the present invention, since the configuration is simplified, the space occupied by the integrated circuit can be greatly reduced. As a result, the cost is reduced and the processing speed is improved. Therefore, the present invention can be applied to a high bit rate application environment in accordance with the requirements of real-time processing. .
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940010391A KR0126109B1 (en) | 1994-05-12 | 1994-05-12 | Vlsi processor for dct/idct |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940010391A KR0126109B1 (en) | 1994-05-12 | 1994-05-12 | Vlsi processor for dct/idct |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950035402A KR950035402A (en) | 1995-12-30 |
KR0126109B1 true KR0126109B1 (en) | 1997-12-19 |
Family
ID=19382942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940010391A KR0126109B1 (en) | 1994-05-12 | 1994-05-12 | Vlsi processor for dct/idct |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0126109B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100563493B1 (en) * | 1999-09-16 | 2006-03-27 | 브이케이 주식회사 | Fast discrete cosine transform apparatus and method with the same positions of input data and the corresponding output data |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6882685B2 (en) * | 2001-09-18 | 2005-04-19 | Microsoft Corporation | Block transform and quantization for image and video coding |
-
1994
- 1994-05-12 KR KR1019940010391A patent/KR0126109B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100563493B1 (en) * | 1999-09-16 | 2006-03-27 | 브이케이 주식회사 | Fast discrete cosine transform apparatus and method with the same positions of input data and the corresponding output data |
Also Published As
Publication number | Publication date |
---|---|
KR950035402A (en) | 1995-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4385363A (en) | Discrete cosine transformer | |
US5331585A (en) | Orthogonal transformation processor for compressing information | |
US5471412A (en) | Recycling and parallel processing method and apparatus for performing discrete cosine transform and its inverse | |
JPH03180965A (en) | Integrated circuit apparatus adapted to repeat dct/idct computation using single multiplier/accumulator and single random access memory | |
JP3938238B2 (en) | Fast Fourier transform processor | |
US6189021B1 (en) | Method for forming two-dimensional discrete cosine transform and its inverse involving a reduced number of multiplication operations | |
JP2679007B2 (en) | Digital signal processing integrated circuit | |
KR0126109B1 (en) | Vlsi processor for dct/idct | |
KR0175733B1 (en) | Vlsi for transforming beat serial matrix | |
JP2662501B2 (en) | Integrated circuit processor for discrete cosine transform and inverse transform | |
US5359549A (en) | Orthogonal transformation processor for compressing information | |
Sun et al. | A low-cost VLSI architecture of multiple-size IDCT for H. 265/HEVC | |
US5343501A (en) | Orthogonal transform apparatus for video signal processing | |
KR100444729B1 (en) | Fast fourier transform apparatus using radix-8 single-path delay commutator and method thereof | |
US5847980A (en) | Product-summing arithmetic circuit | |
JP3970442B2 (en) | Discrete cosine transform device and inverse discrete cosine transform device | |
CN1064507C (en) | IC processing device able to actuate cyclically discrete cosine transform and the inverse transform thereof | |
JP3654622B2 (en) | DCT arithmetic device and IDCT arithmetic device | |
JP2822684B2 (en) | Discrete cosine transform device and inverse discrete cosine transform device | |
JPH05174046A (en) | Arithmetic circuit | |
JP3396818B2 (en) | DCT operation circuit and IDCT operation circuit | |
JP2790911B2 (en) | Orthogonal transform operation unit | |
JPH0613843A (en) | Digital signal processing circuit | |
JP2697619B2 (en) | N-point FFT dedicated processor | |
KR960014197B1 (en) | Distributed arithmetic unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120925 Year of fee payment: 16 |
|
FPAY | Annual fee payment |
Payment date: 20130913 Year of fee payment: 17 |
|
EXPY | Expiration of term |