KR970003805B1 - Improved apparatus for transforming ore dimension discrete and inverse discrete cosine - Google Patents

Improved apparatus for transforming ore dimension discrete and inverse discrete cosine Download PDF

Info

Publication number
KR970003805B1
KR970003805B1 KR1019940003302A KR19940003302A KR970003805B1 KR 970003805 B1 KR970003805 B1 KR 970003805B1 KR 1019940003302 A KR1019940003302 A KR 1019940003302A KR 19940003302 A KR19940003302 A KR 19940003302A KR 970003805 B1 KR970003805 B1 KR 970003805B1
Authority
KR
South Korea
Prior art keywords
data
predetermined
dct
input
unit
Prior art date
Application number
KR1019940003302A
Other languages
Korean (ko)
Other versions
KR950026277A (en
Inventor
김성정
Original Assignee
대우전자 주식회사
배순훈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 대우전자 주식회사, 배순훈 filed Critical 대우전자 주식회사
Priority to KR1019940003302A priority Critical patent/KR970003805B1/en
Publication of KR950026277A publication Critical patent/KR950026277A/en
Application granted granted Critical
Publication of KR970003805B1 publication Critical patent/KR970003805B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/439Methods 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 cascaded computational arrangements for performing a single operation, e.g. filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)

Abstract

The circuit for improving process speed and simplifying circuit includes a data shuffling circuit separating a number of data row to a 1st and a 2nd data matrix, a data calculator adding and subtracting each data concerning the matrix to/from initial input data, discrete cosine transform(DCT) calculators multiplying and accumulating DCT cofactors concerning pixel data, latches latching the multiplied and accumulated data, selectors selecting each data of latches with control signal and providing preset data in sequence, and a circuit aligning the selected data in sequence.

Description

개선된 1차원 이산 및 역이산 코사인 변환장치Improved one-dimensional discrete and inverse discrete cosine inverter

제1도는 선행하는 종래의 1차원 이산 및 역이산 코사인 변환장치를 도시한 개략적인 블럭도.1 is a schematic block diagram showing a conventional one-dimensional discrete and inverse discrete cosine transform apparatus.

제2도는 본 발명에 따른 1차원 이산 코사인 변환 장치를 도시한 블럭도.2 is a block diagram showing a one-dimensional discrete cosine transform apparatus according to the present invention.

제3도는 본 발명에 따른 1차원 역이산 코사인 변환 장치를 도시한 블럭도.3 is a block diagram showing a one-dimensional inverse discrete cosine transform apparatus according to the present invention.

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

210,300 : 데이타 셔플링부220,390 : 가산기210,300: data shuffling unit 220,390: adder

230,400 : 감산기240,310 : 제1 DCT 데이타산출부230,400: subtractor 240,310: first DCT data calculation unit

260,330 : 제2 DCT 데이타산출부280,300,350,370 : 제1 및 제2 래치부260,330: second DCT data calculation unit 280,300,350,370: first and second latch unit

290,310,360,380 : 제1 및 제2 데이타 선택기290,310,360,380: first and second data selector

320,410 : 데이타정렬부320,410: data sorting unit

본 발명은 디지탈 영상 부호기 및 복호기에 관한 것으로, 특히 이산 코사인 변환(Discrete Cosine Transform : DCT)회로 및 DCT의 역순으로 동작하는 역이산 코사인 변환(Inverse Discrete Cosine Transform : IDCT)회로의 하드웨어를 보다 간단하게 구성하고, 처리속도를 향상시키는 개선된 일차원 이산 및 역이산 코사인 변환 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to digital video encoders and decoders, and more particularly to hardware of discrete cosine transform (DCT) circuits and inverse discrete cosine transform (IDCT) circuits operating in the reverse order of DCT. An improved one-dimensional discrete and inverse discrete cosine transform device for constructing and improving processing speed.

고화질 텔레비젼(HDTV), 영상 전화(Video Phone) 및 영상회의(Video Conference)등과 같이 동영상 신호를 디지탈 신호로 전송하고자 하는 경우, 이에 수반되는 방대한 데이타량을 저감시키기 위해 고율의 데이타 압축방법을 이용하여 전송하고자 하는 고율의 데이타 압축 방법을 이용하여 전송하고자 하는 디지탈 데이타를 압축, 즉 부호화하여 전송하게 된다. 이에 따라 여러가지 영상 압축 기법이 연구되었고, 현재에는 정지 영상에 대한 압축 기법이 JPEG(Joint Photographic Experts Group) 국제표준안과 동영상에 대한 압축 기법인 MPEG(Motion Picture Experts Group) 국제 표준안이 제시되고 있다. 즉, 전자의 JPEG 방식은 입력되는 현재 영상 신호를 전술한 DCT를 수행하여 프레임내(Intra Frame) 변환계수 또는 프레임간(Inter Frame)의 차영상의 변환계수의 공간적인 중복성을 제거하여 영상 신호를 압축하는 기법인 반면에, 후자의 MPEG 방식의 경우는 프레임간의 시간적인 중복성을 제거하여 영상신호를 압축하는 움직임보상(Motion Compensation) 차영상 변환 부호화 방식과 전술한 DCT 방식을 결합하여 압축하는 기법이다.If you want to transmit video signals as digital signals such as high-definition television (HDTV), video phones, and video conferences, you can use high-speed data compression to reduce the amount of data involved. The digital data to be transmitted is compressed, that is, encoded and transmitted using a high data compression method to be transmitted. Accordingly, various image compression techniques have been studied. Currently, the JPEG (Joint Photographic Experts Group) international standard and the MPEG (Motion Picture Experts Group) international standard are proposed. That is, the former JPEG method performs the above-described DCT on the input current video signal and removes the spatial redundancy of the transform coefficient of the intra frame or the difference image between the frames. On the other hand, the latter MPEG scheme combines a motion compensation difference encoding scheme that compresses an image signal by eliminating temporal redundancy between frames and the above-described DCT scheme. .

본 발명은 전술한 영상 압축 기법중에서 프레임내 또는 프레임간의 공간 영역상의 화소 데이타(Pixel Data)를 코사인 함수를 이용하여 주파수 영역으로 변환한 변환계수에 대해 공간 영역상의 중복성을 줄임으로써 압축 부호화하는 DCT와, DCT의 역순으로 동작하는 IDCT의 하드웨어를 보다 간단하게 구성시키고, 이에 따라 변환처리 속도를 향상시키는 디지탈 신호 처리 기술에 관련된다.In the above-described image compression scheme, the present invention provides a DCT for compression coding by reducing redundancy in spatial domain with respect to a transform coefficient obtained by transforming pixel data in a frame or inter-frame spatial domain into a frequency domain using a cosine function. In addition, the present invention relates to a digital signal processing technique that more simply configures hardware of an IDCT operating in the reverse order of DCT, thereby improving the conversion processing speed.

전술한 DCT 및 IDCT 회로의 전형적인 종래의 회로가 제1도에 도시된다. 도시된 바와 같이 DCT 계수 매트릭 저장용 판독전용롬(ROM)(110)과, 입력되는 8×8 화소데이타와 상기 롬(110)에서 출력되는 DCT계수를 승산하고 누산하는 1차원 DCT 데이타 산출부(120)와, 상기1차원 DCT 데이타 산출부(120)에서 출력되는 데이타를 래치하는 래치부(140)와, 상기 래치부(140)에서 출력되는 데이타를 선택하여 출력하는 선택기(150)를 포함한다.A typical conventional circuit of the above-described DCT and IDCT circuits is shown in FIG. As shown, a one-dimensional DCT data calculation unit multiplying and accumulating a DCT coefficient metric storage read-only ROM (ROM) 110, an input 8x8 pixel data, and a DCT coefficient output from the ROM 110 ( 120, a latch unit 140 for latching data output from the one-dimensional DCT data calculator 120, and a selector 150 for selecting and outputting data output from the latch unit 140. .

이와 같은 형태로 구성되어 작동하는 종래의 8×8 1차원 DCT 및 IDCT 시스템에서 원하는 하나의 출력데이타를 얻기 위해서는 다수의 계수를 가지는 DCT 계수 모두를 롬에 저장해야 한다. 이때문에 롬의 크기가 방대해 진다는 단점과, 또한 원하는 출력데이타를 얻기 위해서는 8회의 승산 및 8회의 누산 과정을 수행해야만 함으로 그만큼 처리속도가 지연된다는 문제점이 있었다.In order to obtain a desired output data in a conventional 8x8 one-dimensional DCT and IDCT system configured and operated in this manner, all DCT coefficients having a plurality of coefficients must be stored in the ROM. Because of this, there is a disadvantage that the size of the ROM is enormous, and also, the processing speed is delayed because 8 multiplication and 8 accumulation processes must be performed to obtain a desired output data.

따라서 본 발명은 전술한 선행기술의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 하드웨어 구성을 보다 간단하게 구현하고 처리속도를 향상시키는 개선된 일차원 이산 및 역이산 코사인 변환 장치를 제공하는데 있다.Accordingly, the present invention has been made to solve the above-mentioned problems of the prior art, and an object of the present invention is to provide an improved one-dimensional discrete and inverse discrete cosine transform device that makes the hardware configuration simpler and improves the processing speed.

본 발명의 일실시예에 따르면, 순차적으로 입력되는 다수개의 데이타열을 기설정된 제1 및 제2 데이타배열로 분리하는 데이타 셔플링부와; 상기 데이타 셔플링부에서 제공되는 제1 및 제2 데이타 배열에 대한 각 데이타를 입력하여 최초 입력 데이타로부처 순차적으로 가산 및 감산하는 데이타 연산부와; 상기 연산부에서 제공되는 가산 및 감산된 각 데이타들을 각각 입력하여 사전 저장된 소정 화소데이타(Pixel Data)에 대응하는 이산 코사인 변환(Discrete Cosing Transform : DCT)계수 매트릭중에서 소정의 계수들과 상기 소정 화소 데이타에 대응하는 소정 횟수만큼 승산하고 누산하는 제1 및 제2 DCT 연산부와; 상기 제1 및 제2 DCT연산부에서 제공되는 데이타를 상기 사전 저장된 소정 화소 데이타에 대응하는 소정 횟수만큼 승산되고 누산되는 동안 래치하는 제1 및 제2 래치부와; 상기 제1 및 제2 래치부에서 제공되는 각 데이타를 외부로부터 입력되는 제어신호에 의해 기설정된 데이타 순서로 선택하여 각기 출력하는 제1 및 제2 데이타 선택기와; 상기 제1 및 제2 선택기에서 출력되는 데이타를 최초 데이타로부터 순차적으로 정렬하여 출력하는 데이타 정렬부를 포함한다.According to an embodiment of the present invention, a data shuffling unit for separating a plurality of data streams sequentially input into predetermined first and second data arrays; A data calculation unit for inputting and subtracting each data for the first and second data arrays provided by the data shuffling unit sequentially from the first input data; Each of the added and subtracted data provided by the calculating unit is input to each of predetermined coefficients and the predetermined pixel data in a discrete cosing transform (DCT) coefficient matrix corresponding to predetermined pixel data. First and second DCT calculators that multiply and accumulate corresponding predetermined times; First and second latch units for latching data provided by the first and second DCT operators while multiplying and accumulating a predetermined number of times corresponding to the pre-stored predetermined pixel data; First and second data selectors for selecting each data provided from the first and second latch units in a predetermined data order by a control signal input from an external device and outputting the data; And a data sorting unit for sorting and outputting data output from the first and second selectors sequentially from the first data.

본 발명의 다른 실시예에 따르면, 순차적으로 입력되는 다수개의 데이타열을 기설정된 제1 및 제2 데이타 배열로 분리하는 데이타 셔플링부와; 상기 데이타 셔플링부에서 제공되는 제1 및 제2 데이타 배열로 대한 각 데이타를 입력하여 사전 저장된 소정 화소 데이타에 대응하는 이산 코사인 변환 계수 매트릭중에서 소정의 계수들과 상기 소정 화소 데이타에 대응하는 소정 횟수만큼 승산하고 누산하는 제1 및 제2 역 이산 코사인 변화(Inverse Discrete Cosine Transform : IDCT)연산부와; 상기 제1 및 제2 IDCT 연산부에서 제공되는 데이타를 상기 사전 저장된 소정 화소 데이타에 대응하는 소정 횟수만큼 승산되고 누산되는 동안 래치하는 제1 및 제2 래치부와; 상기 제1 및 제2 래치부에서 제공되는 각 데이타를 외부로 부터 입력되는 제어신호에 의해 기설정된 데이타 순서로 선택하여 각기 출력하는 제1 및 제2 데이타 선택기와; 상기 제1 및 제2 데이타 선택기에서 각기 제공되는 데이타를 입력하여 최초 입력 데이타로부터 순차적으로 가산하고 감산하는 데이타 연산부와; 상기 연산부에서 각기 제공되는 가산된 데이타와 감산된 데이타를 입력하여 최초 데이타로 순차적으로 정렬하여 출력하는 데이타 정렬부를 포함한다.According to another embodiment of the present invention, a data shuffling unit for separating a plurality of data strings sequentially input into a predetermined first and second data array; Input each data for the first and second data arrays provided by the data shuffling unit and output the predetermined coefficients and the predetermined number of times corresponding to the predetermined pixel data among discrete cosine transform coefficient metrics corresponding to the predetermined pixel data. First and second inverse discrete cosine transform (IDCT) operation units that multiply and accumulate; First and second latch units for latching data provided by the first and second IDCT calculators while being multiplied and accumulated a predetermined number of times corresponding to the pre-stored predetermined pixel data; First and second data selectors for selecting and outputting each data provided by the first and second latch units in a predetermined data order by a control signal input from the outside; A data operation unit which inputs data respectively provided by the first and second data selectors, sequentially adds and subtracts from the first input data; And a data alignment unit for inputting the added data and the subtracted data respectively provided by the operation unit, and sequentially sorting and outputting the first data.

이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 일실시예가 상세하게 설명된다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

제2도는 본 발명에 따른 1차원 이산 코사인 변환장치를 도시한 블럭도인데. 이러한 이산 코사인 변환 장치는 데이타 셔플링(Shuffling)부(210), 가산기(220), 감산기(230), 제1 및 제2 DCT 데이타 산출부(240)(260), 제1 및 제2 래치부(280)(300), 제1 및 제2 데이타 선택기(290)(310) 및 데이타 정렬부(320)를 포함한다. 또한 제2도에 도시된 1차원 DCT 장치의 하드웨어 구성은 예를 들어 8×8 화소 데이타를 입력하여 1차원 DCT를 수행하는 실시예를 나타내는 것으로써, 제1 및 제2 DCT 데이타 산출부(240)(260)는 선행기술에서는 전술한 바와 같이 DCT계수 저장용의 판독전용 메모리로서 단일 롬(ROM)(110)을 구성시킨 반면에, 본 발명에서는 제1 및 제2 DCT 데이타 산출부(240)(260)에 포함되는 후술하는 각각의 승산기(245, ‥, 248, ‥,268)에 대응하는 계수 저장용 롬 1내지 8(241, ‥, 244, 261, ‥, 264)을 구비한다. 그러나 이러한 장치에 의해 결국 전체 메모리 용량은 반으로 줄어들 수가 있으며, 처리속도도 향상시킬 수 있게 된다.2 is a block diagram showing a one-dimensional discrete cosine transform apparatus according to the present invention. The discrete cosine converter includes a data shuffling unit 210, an adder 220, a subtractor 230, first and second DCT data calculators 240 and 260, and first and second latch units. 280, 300, first and second data selectors 290, 310, and data sorter 320. In addition, the hardware configuration of the one-dimensional DCT apparatus shown in FIG. 2 represents an embodiment of performing one-dimensional DCT by inputting 8x8 pixel data, for example. The first and second DCT data calculator 240 (260) is a read-only memory for storing the DCT coefficients as described above in the prior art, while a single ROM (ROM) 110 is constructed, whereas in the present invention, the first and second DCT data calculator 240 Coefficient storage ROMs 1 to 8 (241, ..., 244, 261, ..., 264) corresponding to the multipliers 245, ..., 248, ..., 268 described later included in 260 are provided. However, such a device can eventually reduce the total memory capacity by half and improve the processing speed.

즉, 본 기술분야의 숙련자에게 잘 알려진 DCT 계수 매트릭스(Matrix)중에서 매트릭의 반이 "제로(0)"로 되는 행렬식을 이용하고, 이를 이용할 수 있는 하드웨어를 구현함으로써 1차원 DCT 장치의 하드웨어를 보다 간단하게 구현할 수 있고, 속도를 개선시킬 수가 있게 된다.That is, by using a determinant in which half of the metric is "zero" among DCT coefficient matrices well known to those skilled in the art, and implementing hardware that can use the hardware of one-dimensional DCT device more It is simple to implement and can improve speed.

데이타 셔플링부(210)는 부호화기의 양자화기(도시안됨)으로부터 출력되는 데이타(X0,X1,X2,……,X7)를 순차적으로 입력하여 각기 4개의 데이타 묶음으로 분류하여 출력하는 것으로, 도시된 바와 같이 일단자로는 가산기(220) 및 감산기(230)로 각기 데이타(X0,X1,X2,X3,)를 제공하는 동시에, 또한 타단자로는 가산기(220) 및 감산기(230)로 각기 데이타(X7,X6,X5,X4)를 제공한다. 그러므로 가산기(220)는 데이타 셔플링부(210)의 두단자로 순차적으로 출력되는 데이타(X0,X1,X2,X3) 및 (X7,X6,X5,X4)를 각각 입력하여 4개의 새로운 데이타를 생성(X0+X7,X1+X6,X2+X5,X3+X4)하여 데이타 (X0+X7)는 제1 DCT 데이타 산출부(240)의 승산기(245)로 전달하며, 데이타(X1+X6) 및 (X2+X5)도 도시되지 않은 승산기로 전달하며, 마지막으로 데이타(X3+X4)는 승산기(248)로 전달한다.The data shuffling unit 210 sequentially inputs data (X 0 , X 1 , X 2 ,..., X 7 ) output from the quantizer (not shown) of the encoder and classifies the data into four sets of data. As shown, at one end, the adder 220 and the subtractor 230 provide data (X 0 , X 1, X 2 , X 3 ,), respectively, and at the other end, the adder 220 and The subtractor 230 provides data (X 7 , X 6 , X 5, X 4 ), respectively. Therefore, the adder 220 sequentially outputs the data (X 0 , X 1 , X 2 , X 3 ) and (X 7 , X 6, X 5 , X 4 ) which are sequentially output to the two terminals of the data shuffling unit 210. Generate four new data (X 0 + X 7 , X 1 + X 6 , X 2 + X 5 , X 3 + X 4 ) and the data (X 0 + X 7 ) is the first DCT data calculator ( To a multiplier 245 of 240, data (X 1 + X 6 ) and (X 2 + X 5 ) are also passed to a multiplier (not shown), and finally data (X 3 + X 4 ) is multiplier 248. To pass).

그리고 감산기(230)는 역시 데이타 셔플링부(210)의 두단자로 출력되는 데이타 (X0,X1,X2,X3)및 (X7,X6,X5,X4)를 각각 입력하여 4개의 새로운 데이타 생성(X0-X1, X1-X6, X2-X5, X3-X4)하여 데이타 (X0-X7)는 제2 DCT 데이타 산출부(260)의 승산기(265)로 전달하고, 데이타(X1-X6) 및 (X2-X5)도 도시되지 않은 승산기로 전달하며, 마지막으로 데이타(X3-X4)는 승산기(268)로 전달한다.The subtractor 230 also inputs data (X 0 , X 1 , X 2 , X 3 ) and (X 7 , X 6 , X 5 , X 4 ) which are output to two terminals of the data shuffling unit 210, respectively. To generate four new data (X 0 -X 1 , X 1 -X 6 , X 2 -X 5 , X 3 -X 4 ) and the data (X 0 -X 7 ) is the second DCT data calculator 260. To multiplier 265, to data (X 1 -X 6 ) and (X 2 -X 5 ) to a multiplier, not shown, and finally to data (X 3 -X 4 ) to multiplier 268. To pass.

전술한 제1 및 제2 DCT 데이타 산출부 (240)(260)의 롬 (241,243,261,264)에는 다음 식(1)과 같은 DCT 계수 매트릭[C]을 각기 저장하게 된다.In the ROMs 241, 243, 261 and 264 of the first and second DCT data calculators 240 and 260, the DCT coefficient matrix C as shown in Equation (1) is stored.

즉, 롬 1(24)에는 식(1)에서의 1행(Row) 계수(C00C01C02C3)가 저장되고, 도시되지 않은 롬 2에는 2행 계수(C20C21C22C23), 롬 3에는 3행 계수(C40C41C42C43)가 저장되며, 그리고 롬 4(243)에는 4행 계수(C60C61C62C63)가 저장된다. 동일한 방법으로, 롬 5 내 8(261,‥,264)에는 식 (1)에서 하측 우편에 있는 계수들 중 5행 내지 8행 계수가 순차적으로 저장된다.That is, the row 1 coefficient (C 00 C 01 C 02 C 3 ) in Equation (1) is stored in ROM 1 (24), and the row 2 coefficient (C 20 C 21 C 22 ) is stored in ROM 2 (not shown). C 23 ), ROM 3 stores three-row coefficients (C 40 C 41 C 42 C 43 ), and ROM 4 (243) stores four-row coefficients (C 60 C 61 C 62 C 63 ). In the same way, 8 (261, ..., 264) in ROM 5 stores the 5th to 8th row coefficients among the coefficients in the lower postal equation in Eq. (1) sequentially.

제1 및 제2 DCT 데이타 산출부(240)(260)내의 승산기(245,‥248, 265,‥268)와 누산기(249,‥252,269,‥272)는 가산기(220) 및 감산기(230)에서 제공되는 입력 데이타와 롬 1 내지 8(241,‥244,261,‥264)에서 제공되는 4개씩이 DCT 계수를 입력하여 각기 4회 승산하고 누산한다.The multipliers 245, 248, 265, and 268 and the accumulators 249, 252, 269, and 272 in the first and second DCT data calculators 240 and 260 are added by the adder 220 and the subtractor 230. The input data provided and the four provided by the ROMs 1 to 8 (241, 244, 261, 264) input DCT coefficients to multiply and accumulate four times each.

즉, DCT 수행에 있어서, 다음과 같은 식(2)을 통해 승산을 행하여 1차원 DCT 계수(Y)를 얻을 수 있다.That is, in performing the DCT, the multiplication may be performed through the following equation (2) to obtain the one-dimensional DCT coefficient (Y).

Y + C ·X(2)Y + CX (2)

여기서, X는 전술할 가산기(220) 및 감산기(230)에서 출력되는 입력 데이타를 나타내고, C는 전술한 식(1)과 같은DCT 계수를 나타낸다.Here, X represents the input data output from the adder 220 and the subtractor 230 to be described above, and C represents the same DCT coefficient as the above-described formula (1).

즉, 전술한 DCT 계수(식1)와 입력 데이타를 식(2)에 대입하면 다음 식(3)과 같다.That is, when the above-described DCT coefficient (Equation 1) and input data are substituted into Equation (2), the following Equation (3) is obtained.

제1 및 제2 래치부(280)(300)는 제1 및 제2 DCT 데이타 산출부(240)(260)에서 각기 출력되는 데이타를 입력하여 전술한 바와 같이 4회의 승산이 이루어지고 누산이 이루어지는 동안 각 데이타를 유지(Hold)시킨 후, 4회의 누산이 완료되면 선택기(270)(290)로 출력한다.The first and second latch units 280 and 300 input data respectively output from the first and second DCT data calculators 240 and 260 to multiply and multiply four times as described above. After holding each data for a while (Hold), and when the accumulation of four times is completed, it is output to the selector 270, 290.

제1 및 제2 데이타 선택기(290)(310)는 제1 및 제2 래치부(280)(300)에서 출력되는 데이타를 입력하여 외부의 Control Logic(도시안됨)로부터 입력되는 제어 신호에 의해 기설정된 순서대로 데이타를 선택하여 각각 출력(y0,y2,y4,y6)(y2,y3,y5,y7)하여 데이타 정렬부(320)로 제공한다. 데이타 정렬부(320)는 제1 및 제2 선택기(290)(310)로 부터 출력되는 두 계열의 데이타를 각 계열의 처음 데이타 부터 순차적으로 입력(y0,y1)(y2,y3)(y4,y5)(y6,y7)하여 원하는 데이타 순서(y0,y1,‥.y7)로 출력한다.The first and second data selectors 290 and 310 may input data output from the first and second latch units 280 and 300 and may be controlled by a control signal input from an external control logic (not shown). The data are selected in the set order and output (y 0, y 2 , y 4 , y 6 ) (y 2 , y 3 , y 5 , y 7 ), respectively, and provided to the data sorting unit 320. The data sorter 320 sequentially inputs two series of data output from the first and second selectors 290 and 310 from the first data of each series (y 0 , y 1 ) (y 2 , y 3). (y 4 , y 5 ) (y 6 , y 7 ) and output in the desired data order (y 0 , y 1 , .y 7 ).

제3도를 참조하면, 제3도는 본 발명에 따른 1차원 역이산 코사인 변환장치를 도시한 블럭도로써, 데이타 셔플링부(300), 제1 및 제2 DCT 데이타 산출부(310)(330), 제1 및 제2 래치부(350)(370), 제1 및 제2 데이타 선택기(360)(380), 가산기(390), 감산기(400) 및 데이타 정려부(410)를 포함한다. 전술한 바와 같이 1차원 역 이산 코사인 변환장치는 1차원 이산 코사인 변환장치에 대해 역순으로 동작하는 것으로 그 구성요소 및 동작 개념은 모두 유사하나, 단지 데이타 설정 변수만 다르고, 그 구성요소를 다소 변경시켜 배열시킨 것이다.Referring to FIG. 3, FIG. 3 is a block diagram showing a one-dimensional inverse discrete cosine transform apparatus according to the present invention. The data shuffling unit 300, the first and second DCT data calculating units 310 and 330 are shown. The first and second latch units 350 and 370, the first and second data selectors 360 and 380, the adder 390, the subtractor 400, and the data trimming unit 410 are included. As described above, the one-dimensional inverse discrete cosine transformer operates in the reverse order with respect to the one-dimensional discrete cosine transformer. The components and operation concepts are similar, but only the data setting variables are different, and the components are changed slightly. It is arranged.

데이타 셔플링부(210)는 복호화기의 가변 길이 복호화(Variable Length Decoding : VLD)장치(도시안됨)등으로 부터 출력된는 데이타(y0,y1,y2,‥.,y7)를 순차적으로 입력하여 역시 전술한 DCT 장치에서와 같이 4개의 데이타로 각기 분류하는 것으로, 즉 일단자로는 데이타(y0,y2,y4,y6)를 출력하며, 타단자로는 데이타 (y1,y3,y5,y7)를 출력한다.The data shuffling unit 210 sequentially inputs data (y0, y1, y2, ..., y7) outputted from a variable length decoding (VLD) device (not shown) of the decoder. As in one DCT device, the data is classified into four pieces of data, i.e., data (y0, y2, y4, y6) is output at one end, and data (y1, y3, y5, y7) is output at the other end. .

제1 및 제2 IDCT 데이타 산출부(310)(330)는 전술한 DCT 데이타 산출부와 동일한 구성요소를 포함한다. 즉 제1 IDCT 데이타 산출부(310)는 롬 1 내지 4(311,‥,314), 승산기(315,‥,318) 및 누산기(319,‥,322)를 포함하며, 제2 IDCT 데이타 산출부(330)도 역시 롬 5 내지 8(311,‥,334), 승산기(335,‥,338) 및 누산기(339,‥,342)를 포함한다.The first and second IDCT data calculators 310 and 330 include the same components as the above-described DCT data calculator. That is, the first IDCT data calculator 310 includes ROMs 1 to 4 (311, ..., 314), multipliers 315, ..., 318, and accumulators 319, ..., 322, and a second IDCT data calculator. 330 also includes ROMs 5-8 (311, ..., 334), multipliers (335, ..., 338) and accumulators (339, ..., 342).

그리고 롬 1 내지 8(311,‥,314)(331,‥,334)에는 역시 다음 식(4)과 같은 IDCT 계수 매트릭[D]이 저장된다.In addition, the IDCT coefficient matrix [D] is stored in the ROMs 1 to 8 (311, ..., 314) (331, ..., 334) as shown in the following equation (4).

즉 롬 1(311)에서 식(4)에는 식(4)에서 1행 계수 (D00,D1,D2,D3)가 저장되고, 도시된지 않은 롬 2에는 2행 계수(D20,D21,D22,D23)가 저장되면, 이러한 식으로 롬 4(314)에서 4행 계수(D60,D61,D62,D63)가 저장된다. 그리고 롬5(331)에는 5행 계수(D10,D11,D12,D13)가 저장된고, 마지막으로 롬 8(334)에는 8행 계수(D70,D71,D72,D73)가 저장된다.That is, in row 1 (311), equation (4) stores one row coefficients (D 00, D 1 , D 2 , D 3 ) in equation (4), and in row 2 (not shown), row 2 coefficients (D 20 , Once D 21 , D 22 , D 23 are stored, the four-row coefficients D 60 , D 61 , D 62 , D 63 are stored in this way in ROM 4 314. In addition, five row coefficients (D 10 , D 11 , D 12 , D 13 ) are stored in the ROM 5 (331), and eight row coefficients (D 70 , D 71 , D 72 , D 73 ) are stored in the ROM 8 (334). ) Is stored.

그리고 각 승산기들(315,‥,318,335,‥,338)은 데이타 셔플링부(300)로부터 출력되는 데이타와 각 롬(311,‥,314,331,‥,334)에서 출력되는 IDCT 계수를 입력하여, 계수의 수에 대응되게 다음 식(5)과 같이 승산하고 출력한다.The multipliers 315, 318, 335, and 338 input data output from the data shuffling unit 300 and IDCT coefficients output from each of the ROMs 311, 314, 331, 334 and 334. Multiply and output as shown in Equation (5) to correspond to the number of.

누산기들(319,‥,322,339,‥,342)은 전술한 승산기들 (315,‥,318,335,‥338)각각에서 출려되는 승산된 결과의 데이타들을 입력하여 예를 들어 4회의 승산이 이루어지는 경우, 역시 4회의 누산을 수행한 후, 제1 래치부(350)로 전달한다. 제1 및 제2 래치부(350)(370)는 1차원 IDCT 연산부(310)(330)에서 4회의 승산 및 누산이 이루어지는 동안 누산된 데이타를 유지한 후, 4회의 누산이 완료되면 제1 및 제2 데이타 선택기 (360)(380)로 각각 출력한다.The accumulators 319, ..., 322, 339, ..., 342 input data of the multiplied result from each of the multipliers 315, ..., 318, 335, ... 338 described above. After performing the accumulation of four times, the transfer to the first latch unit 350. The first and second latch units 350 and 370 maintain accumulated data during four multiplications and accumulations in the one-dimensional IDCT operation unit 310 and 330, and then, if the four accumulations are completed, the first and second latch units 350 and 370 may perform the first and second latches. Output to second data selectors 360 and 380, respectively.

제1 및 제2 데이타 선택기(360)(380)는 제2 래치부(350)(370)에서 출력되는 데이타를 입력하여 외부의 Control Logic로부터 입력되는 제어신호에 의해 기설정된 순서대로 데이타를 선택하여 각각 출력(Z0,Z2,Z4,Z6)(Z1,Z3,Z5,Z7)하는데 제1데이타 선택기(360)에서 제공하는 데이타(Z0,Z2,Z4,Z6) 및 제2데이타 선택기(380)에서 제공되는 데이타(Z1,Z3,Z5,Z7)는 가산기(390) 및 감산기(400)로 각각 제공한다. 그러므로 가산기(390)는 제1데이타 선택기(360) 및 제2데이타 선택기(380)에서 제공되는 데이타를 각기 순차적으로 입력하여 가산한 데이타(즉, Z0+Z1,Z2+Z3,Z4+Z5,Z6+Z7)를 데이타 정렬부(410)로 제공한다. 그리고 감산기(400)는 역시 제1 및 제 2데이타 선택기(360)(380)에서 제공되는 데이타를 각기 순차적으로 입력하여 감산한 데이타(즉, Z0-Z1,Z2-Z3,Z4-Z5,Z6-Z7)를 데이타 정렵부(410)로 제공한다.The first and second data selectors 360 and 380 input data output from the second latch units 350 and 370 to select data in a predetermined order by a control signal input from an external control logic. Each of the outputs Z 0 , Z 2 , Z 4 , Z 6 (Z 1, Z 3 , Z 5 , Z 7 ) is provided by the first data selector 360 (Z 0 , Z 2 , Z 4 , Z 6 ) and the data Z 1 , Z 3, Z 5 , and Z 7 provided from the second data selector 380 are provided to the adder 390 and the subtractor 400, respectively. Therefore, the adder 390 sequentially inputs and adds data provided from the first data selector 360 and the second data selector 380 (that is, Z 0 + Z 1 , Z 2 + Z 3 , Z). 4 + Z 5 , Z 6 + Z 7 ) is provided to the data sorting unit 410. The subtractor 400 also sequentially inputs and subtracts data provided from the first and second data selectors 360 and 380, respectively (ie, Z 0 -Z 1 , Z 2 -Z 3 , Z 4). -Z 5 , Z 6 -Z 7 ) are provided to the data sorter 410.

마지막으로, 데이타 정렬부(410)는 가산기(390) 및 감산기(400)에서 제공되는 가산 및 감산한 데이타, 즉 전술하는 가산한 데이타에 대응하는 데이타(X0,X2,X4,X6)와 감산한 데이타에 대응한 데이타(X1,X3,X5,X7)를 순차적으로 입력하여 원하는 최종 데이타(X0,X1,X2,X3,‥,X7)를 출력한다.Finally, the data sorting unit 410 adds and subtracts the data provided by the adder 390 and the subtractor 400, that is, the data corresponding to the aforementioned added data (X 0 , X 2 , X 4 , X 6). ) And the data (X 1 , X 3 , X 5 , X 7 ) corresponding to the subtracted data are sequentially input to output desired final data (X 0 , X 1 , X 2 , X 3 , ..., X 7 ). do.

이상에서 설명한 바와 같이, 본발명에 따를 1차원 DCT 및 IDCT 방치에 의하며 DCT 및 IDCT 계수 매트릭수값을 다수개의 판독전용 메모리에 저장하여 두고 다수개의 DCT 및 IDCT 계수들을 추출하여 각각 승산하고 누산함으로써 1차원 DCT 및 IDCT 회로의 하드웨어를 보다 간단하게 구현할 수가 있으며, 또한 DCT 및 IDCT 수행 속도를 향상시킬 수 있는 장점이 있다.As described above, one-dimensional DCT and IDCT are left in accordance with the present invention, and the DCT and IDCT coefficient metric values are stored in a plurality of read-only memories, and the plurality of DCT and IDCT coefficients are extracted, multiplied and accumulated, respectively. The hardware of the DCT and IDCT circuits can be implemented more simply, and the speed of performing the DCT and IDCT can be improved.

Claims (3)

순차적으로 입력되는 다수개의 데이타열을 기설정된 제1 및 제2 데이타 배열로 분리하는 데이타 셔플링부와; 상기 데이타 셔플링부에서 제공되는 제1 및 제2데이타 배열에 대한 각 데이타를 입력하여 최초 입력 데이타로부터 순차적으로 가산 및 감산하는 데이타 연산부와; 상기 연산부에서 제공되는 가산 및 감산된 각 데이타들을 각각 입력하여 사전 저장된 소정 화소데이타(Pixel Data)에 대응하는 이산코사인 변화(Discrete Cosine Transform : DCT) 계수 매트릭중에서 소정의 계수들과 상기 소정 화소 데이타에 대응하는 소정 횟수만큼 승산하고 누산하는 제1 및 제2 DCT 연산부와; 상기 제1 및 제2 DCT 연산부에서 제공되는 데이타를 상기 사전 저장된 소정 화소 데이타에 대응하는 소정회수만큼 승산되고 누산되는 동안 래치하는 제1 및 제2 래치부와; 상기 제1 및 제2 래치부에서 제공되는 각 데이타를 외부로 부터 입력되는 제어신호에 의해 기설정된 데이타 순서로 선택하여 각기 출력하는 제1 및 제2 데이타 선택기와; 상기 제1 및 제2 선택기에서 출력되는 데이타를 최초 데이타로 부터 순차적으로 정렬하여 출력하는 데이타 정렬부를 포함하는 개선된 일차원 이산 코사인 변환장치.A data shuffling unit for separating a plurality of data strings sequentially input into predetermined first and second data arrays; A data operation unit configured to sequentially add and subtract data from the first input data by inputting respective data for the first and second data arrays provided by the data shuffling unit; Each of the added and subtracted data provided by the calculating unit is input to each of predetermined coefficients and the predetermined pixel data in a discrete cosine transform (DCT) coefficient matrix corresponding to the pre-stored predetermined pixel data. First and second DCT calculators that multiply and accumulate corresponding predetermined times; First and second latch units for latching data provided by the first and second DCT calculators while being multiplied and accumulated by a predetermined number of times corresponding to the pre-stored predetermined pixel data; First and second data selectors for selecting and outputting each data provided by the first and second latch units in a predetermined data order by a control signal input from the outside; An improved one-dimensional discrete cosine transform apparatus comprising a data alignment unit for sequentially sorting and outputting data output from the first and second selectors from original data. 제1항에 있어서, 상기 제1 및 제2 DCT 연산부는, 상기 데이타 연산부에서 제공되는 가산된 데이타수에 대응하는 소정 갯수의 상기 DCT 계수를 저장하는 다수개의 메모리와; 상기 가산된 데이타와 상기 다수개의 메모리에서 제공되는 계수를 입력하여 상기 계수에 대응하는 소정 횟수만큼 승산하는 다수개의 승산기와; 상기 DCT계수에 대응하는 소정 횟수만큼 승산한 데이타를 누산하는 다수개의 누산기를 포함하는 개선된 일차원 이산 코사인 변환장치.2. The apparatus of claim 1, wherein the first and second DCT calculators comprise: a plurality of memories storing a predetermined number of DCT coefficients corresponding to the number of added data provided by the data calculator; A plurality of multipliers for inputting the added data and coefficients provided from the plurality of memories and multiplying the coefficient by a predetermined number of times corresponding to the coefficients; And an accumulator for accumulating data multiplied by a predetermined number of times corresponding to the DCT coefficient. 순차적으로 입력되는 다수개의 데이타열을 기설정된 제1 및 제2 데이타 배열로 분리하는 데이타 셔플링부와; 상기 데이타 셔플링부에서 제공되는 제1 및 제22 데이타 배열에 대한 각 데이타를 입력하여 사전 저장된 소정 화소 데이타에 대응하는 이산 코사인 변환 계수 매트릭중에서 소정의 계수들과 상기 소정 화소 데이타에 대응하는 소정 횟수만큼 승산하고 누산하는 제1 및 제2 역이산 코사인 변환(Inverse Discrete Cosine Transform : IDCT)연산부와; 상기 제1 및 제2 IDCT 연산부에서 제공되는 데이타를 상기 사전 저장된 소정 화소 데이타에 대응하는 소정 횟수만큼 승산되고 누산되는 동안 래치하는 제1 및 제2 래치부와; 상기 제1 및 제2래치부에서 제공되는 각 데이타를 외부로 부터 입력되는 제어신호에 의해 기설정된 데이타 순서로 선택하여 각기 출력하는 제1 및 제2 데이타 선택기와; 상기 제1 및 제2 데이타 선택기에서 각기 제공되는 데이타를 입력하여 최초 입력 데이타로부터 순차적으로 가산하고 감산하는 데이타 연사부와; 상기 연산부에서 각기 제공되는 가산된 데이타와 감산된 데이타를 입력하여 최초 데이타로부터 순차적으로 정렬하여 출력하는 데이타 정렬부를 포함하는 일차원 역 이산 코산인 변환장치.A data shuffling unit for separating a plurality of data strings sequentially input into predetermined first and second data arrays; Input each data for the first and twenty-second data arrays provided by the data shuffling unit, and the predetermined coefficients and a predetermined number of times corresponding to the predetermined pixel data among discrete cosine transform coefficient metrics corresponding to the predetermined pixel data stored in advance. First and second inverse discrete cosine transform (IDCT) operation units that multiply and accumulate; First and second latch units for latching data provided by the first and second IDCT calculators while being multiplied and accumulated a predetermined number of times corresponding to the pre-stored predetermined pixel data; First and second data selectors for selecting and outputting each data provided from the first and second latch units in a predetermined data order by a control signal input from the outside; A data sequencing unit which inputs data provided by the first and second data selectors, respectively, and sequentially adds and subtracts from the first input data; And a data alignment unit for inputting the added data and the subtracted data respectively provided by the operation unit, and sequentially sorting and outputting the first data.
KR1019940003302A 1994-02-24 1994-02-24 Improved apparatus for transforming ore dimension discrete and inverse discrete cosine KR970003805B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940003302A KR970003805B1 (en) 1994-02-24 1994-02-24 Improved apparatus for transforming ore dimension discrete and inverse discrete cosine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940003302A KR970003805B1 (en) 1994-02-24 1994-02-24 Improved apparatus for transforming ore dimension discrete and inverse discrete cosine

Publications (2)

Publication Number Publication Date
KR950026277A KR950026277A (en) 1995-09-18
KR970003805B1 true KR970003805B1 (en) 1997-03-21

Family

ID=19377674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940003302A KR970003805B1 (en) 1994-02-24 1994-02-24 Improved apparatus for transforming ore dimension discrete and inverse discrete cosine

Country Status (1)

Country Link
KR (1) KR970003805B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100644556B1 (en) * 1999-06-07 2006-11-13 삼성전자주식회사 High speed inverse discrete cosine transform device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100644556B1 (en) * 1999-06-07 2006-11-13 삼성전자주식회사 High speed inverse discrete cosine transform device

Also Published As

Publication number Publication date
KR950026277A (en) 1995-09-18

Similar Documents

Publication Publication Date Title
JP7483035B2 (en) Video decoding method and video encoding method, apparatus, computer device and computer program thereof
KR950012222B1 (en) High speed cosine transform
KR20070118978A (en) Method and system for video compression using an iterative encoding algorithm
WO2011005105A1 (en) Computer implemented early skip
US8179972B2 (en) Image encoding device, image decoding device, and integrated circuit used therein
KR20000053028A (en) Prediction method and device with motion compensation
CN114615504A (en) Video decoding method, video encoding method, device and equipment
KR100313217B1 (en) Pipeline DCT device
WO2001006793A1 (en) Drift-free transcoder and related method
KR20020076196A (en) Method of simultaneous format reduction and decoding of encoded video signals
GB2305798A (en) Spatial frequency domain video signal processing
KR100377084B1 (en) Discrete cosine conversion circuit, discrete cosine inverse conversion circuit, MPEG video encoder and MPEG video decoder
KR970003805B1 (en) Improved apparatus for transforming ore dimension discrete and inverse discrete cosine
TWI825751B (en) Method and apparatuses for video encoding
US7756351B2 (en) Low power, high performance transform coprocessor for video compression
RU2154917C2 (en) Improved final processing method and device for image signal decoding system
KR0178746B1 (en) Half pixel processing unit of macroblock
KR101711495B1 (en) Reusable DCT Architecture for Parallel Processing of Y, U and V Transforms in HEVC
JPH08228353A (en) Motion compensation circuit for moving image encoding
KR970003806B1 (en) Improved apparatus for transforming one dimension discrete and inverse discrete cosine
KR100994908B1 (en) Digital filter for reducting blocking artifacts in images
KR100711088B1 (en) Integer Transform Device for Moving Picture Encoder
JP2710135B2 (en) Adaptive coding between frames / intra-frame
KR100202957B1 (en) Quantizatizer
CN114079780A (en) Video decoding method, video encoding method, video decoding apparatus, video encoding apparatus, and storage medium

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
LAPS Lapse due to unpaid annual fee