KR100212268B1 - 리의 알고리즘을 이용한 이산 코사인 역변환 시스템 - Google Patents
리의 알고리즘을 이용한 이산 코사인 역변환 시스템 Download PDFInfo
- Publication number
- KR100212268B1 KR100212268B1 KR1019950049316A KR19950049316A KR100212268B1 KR 100212268 B1 KR100212268 B1 KR 100212268B1 KR 1019950049316 A KR1019950049316 A KR 1019950049316A KR 19950049316 A KR19950049316 A KR 19950049316A KR 100212268 B1 KR100212268 B1 KR 100212268B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- multiplexer
- storage unit
- storage
- output
- 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/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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
이 발명은 리의 알고리즘을 이용한 이산 코사인 역변환 시스템 관한 것으로서, 이산 코사인 변환된 신호를 입력받아, 리의 알고리즘을 이용한 이산 코사인 역변환의 덧셈 연산을 하여 출력하는 초기연산수단(100)과, 상기 초기연산수단(100)으로부터 출력되는 신호를 입력받아, 리의 알고리즘을 이용한 이산 코사인 역변환의 곱셈 연산과 나비 연산을 하여 출력하는 주연산수단(200)으로 이루어져 있으며, MPEG 등에서 데이타 압축 및 복원을 위하여 사용하고 있는 이산 코사인 역변환 시스템에 있어서, 리의 알고리즘을 이용하여 회로를 구현함에 따라, 곱셈의 횟수를 줄여서 계산에 소요되는 시간을 단축시키고, 전체 회로의 크기를 줄인, 리의 알고리즘을 이용한 이산 코사인 역변환 시스템에 관한 것이다.
Description
제1도는 이 발명의 실시예에 따른 리의 알고리즘을 이용한 이산 코사인 역변환 시스템을 적용한 블럭도.
제2도는 제1도의 신호 흐름도.
이 발명은 리(LEE)의 알고리즘(algorithm)을 이용한 이산 코사인 역변환(inverse discrete cosine transformation, IDCT) 시스템(system)에 관한 것으로서, 더 상세히 말하자면, 엠펙(MPEG, Motion Picture Experts Group, 동화상 전문가 그룹, 이하 'MPEG'로 표기함) 등에서 데이타(data) 압축 및 복원을 위하여 사용하고 있는 이산 코사인 역변환 시스템에 있어서, 리의 알고리즘을 이용하여 회로를 구현함에 따라, 곱셈의 횟수를 줄여서 계산에 소요되는 시간을 단축시키고, 전체 회로의 크기를 줄인, 리의 알고리즘을 이용한 이산 코사인 역변환 시스템에 관한 것이다.
제이펙(JPEG, Joint Photograph Experts Group, 정지 화상 전문가 그룹)이나 MPEG 등 영상신호를 송수신하는 시스템에서는, 많은 데이타량을 처리하기 위해 압축과 복원의 방법을 사용하고 있다.
상기 데이타 압축의 방법으로, 이산 푸리에 변환(DFT, Discrete Fourier Transformation)과, 코헤른(kohern) 방식, 이산 코사인 변환 등, 여러 가지 방법이 제안되고 있는데, 이산 코산인 변환은 계산이 간단하고 변환에 따른 원래 데이타의 복구 상태가 좋은 장점이 있다.
전기전자학회(Institute of Electrical and Electronic Engineers, 이하 'IEEE'로 표기함)에서는 이산 코사인 변환과 이산 코사인 역변환을 정의하였다.
IEEE(ISO/IEC 13818-2 DIS)에서 정의한 바에 의하면, 이산 코사인 변환은 아래의 식1과 같이 표현되고, 이산 코사인 역변환은 아래의 식2와 같이 표현된다.
여기서,이다.
상기에서, F(,)는 '-2048'부터 '2047'까지의 값을 가지는 12비트(bit) 정수값이고, f(,)는 '-256'부터 '255'의 값을 가지는 9비트 정수값이다.
그런데, 상기와 같은 이산 코사인 변환 또는 이산 코사인 역변환에서는 그 동작을 수행하는 데에 있어서, 곱셈을 하는 동작이 많아서, 계산에 소요되는 시간이 과다하게 필요하고, 하드웨어(hardware)적인 회로의 크기가 커지는 단점이 있다.
예를 들어, 8포인트(point)의 이산 코사인 역변환을 할 경우, 곱셈을 64번이나 해야 하는데, 이렇게 많은 곱셈을 줄이기 위해, 많은 연구가 진행되어 왔다.
그 중에서, 리의 알고리즘은, 상기와 같은 경우에 곱셈의 수를 12번으로 줄였으며, 그에 따른 이산 코사인 역변환의 8포인트, 1차원의 식은 아래의 식 (3)과 같이 표현된다.
여기서,이다.
상기 리의 알고리즘은 IEEE에서 발표된 논문(제목 'A new Algorithm for computing the discrete cosine transform', 문헌명 'IEEE Transactions on Acoustic, Speech, Signal Processing vol. ASSP-32. pp1243-1245', 발표시기 1984년 12월)에 상세히 설명되어 있다.
상기 리의 알고리즘에서는 이산 코사인 역변환의 계산에 있어서, 곱셈의 수를 현저하게 감소시킴으로써, 계산량의 과다에 따른 병목현상을 해결하여 계산 시간을 줄일 수 있다.
따라서 이 발명의 목적은 종래의 이산 코사인 역변환의 문제점을 해결하기 위한 것으로서, MPEG 등에서 데이타 압축 및 복원을 위하여 사용하고 있는 이산 코사인 역변환 시스템에 있어서, 리의 알고리즘을 이용하여 회로를 구현함에 따라, 곱셈의 횟수를 줄여서 계산에 소요되는 시간을 단축시키고, 전체 회로의 크기를 줄인, 리의 알고리즘을 이용한 이산 코사인 역변환 시스템을 제공하는 데에 있다.
상기의 목적을 달성하기 위한 이 발명의 구성은,
이산 코사인 변환된 신호를 입력받아, 리의 알고리즘을 이용한 이산 코사인 역변환의 덧셈 연산을 하여 출력하는 초기연산수단과;
상기 초기연산수단으로부터 출력되는 신호를 입력받아, 리의 알고리즘을 이용한 이산 코사인 역변환의 곱셈 연산과 나비 연산을 하여 출력하는 곱셈 연산수단으로 이루어져 있다.
이하, 첨부된 도면을 참고로 하여 이 발명을 용이하게 실시할 수 있는 가장 바람직한 실시예를 설명한다.
제1도는 이 발명의 실시예에 따른 리의 알고리즘을 이용한 이산 코사인 역변환 시스템을 적용한 블럭도이고,
제2도는 제1도의 신호 흐름도이다.
제1도에 도시되어 있듯이 이 발명의 실시예에 따른 리의 알고리즘을 이용한 이산 코사인 역변환 시스템의 구성은,
이산 코사인 변환된 신호를 입력받아, 리의 알고리즘을 이용한 이산 코사인 역변환 덧셈 연산을 하여 출력하는 초기연산수단(100)과;
상기 초기연산수단(100)으로부터 출력되는 신호를 입력받아, 리의 알고리즘을 이용한 이산 코사인 역변환의 곱셈 연산과 나비 연산을 하여 출력하는 주연산수단(200)으로 이루어져 있다.
상기 초기연산수단(100)의 구성은,
이산 코사인 변환된 신호와, 궤환되는 신호를 입력받아, 해당하는 신호들을 선택하여 덧셈을 하여 출력하는 초기 덧셈수단(10)과;
상기 초기 덧셈수단(10)으로부터 출력되는 1차 덧셈 계산된 신호를 입력받아 저장하였다가, 2차 덧셈 계산을 수행하도록, 상기 초기 덧셈수단(10)으로 그 신호를 다시 궤환시키는 1차 저장수단(20)과;
상기 초기 덧셈수단(10)으로부터 출력되는 2차 덧셈 계산된 신호를 입력받아 임시 저장하였다가 출력하는 2차 저장수단(30)으로 이루어져 있다.
상기 초기 덧셈수단(10)의 구성은,
이산 코사인 변환된 신호를 입력받아, 임시 저장하였다가 출력하는 신호입력수단(11)과;
상기 신호입력수단(11)으로부터 출력되는 신호를 입력받아, 해당하는 신호들을 선택하여 덧셈을 하여 출력하는 가산수단(15)으로 이루어져 있다.
상기 신호입력수단(11)의 구성은,
이산 코사인 변환된 신호의 제1차의 1포인트~4포인트를 입력받아, 임시 저장하였다가 해당하는 신호를 출력하는 제1저장부(M11)와;
이산 코사인 변환된 신호의 제1차의 5포인트~8포인트를 입력받아, 임시 저장하였다가 해당하는 신호를 출력하는 제2저장부(M12)와;
이산 코사인 변환된 신호의 제2차의 5포인트~8포인트를 입력받아, 임시 저장하였다가 해당하는 신호를 출력하는 제3저장부(M13)와;
이산 코사인 변환된 신호의 제2차의 1포인트~4포인트를 입력받아, 임시 저장하였다가 해당하는 신호를 출력하는 제4저장부(M14)로 이루어져 있다.
상기 가산수단(15)의 구성은,
상기 신호입력수단(11)의 제2저장부(M12)로부터 출력되는 신호와 제4저장부(M14)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제1멀티플렉서(multiplexer, MX15)와;
상기 제1멀티플렉서(MX15)로부터 출력되는 신호와, 상기 1차 저장수단(20)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제2멀티플렉서(MX16)와;
상기 신호입력수단(11)의 제1저장부(M11)로부터 출력되는 신호와 제3저장부(M13)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제3멀티플렉서(multiplexer, MX17)와;
상기 제3멀티플렉서(MX17)로부터 출력되는 신호와, 상기 1차 저장수단(20)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제4멀티플렉서(MX18)와;
상기 제2멀티플렉서(MX16)와, 제4멀티플렉서(MX18)로부터 출력되는 신호를 입력받아, 두 값을 더하여 출력하는 가산기(AD15)로 이루어져 있다.
상기 1차 저장수단(20)의 구성은,
상기 초기 덧셈수단(10)으로부터 출력되는 1차 덧셈 계산된 신호 중에서 해당하는 신호를 입력받아 저장하였다가, 2차 덧셈 계산을 수행하도록, 상기 초기 덧셈수단(10)의 제2멀티플렉서(MX16)로 그 신호를 다시 궤환시키는 제1저장수단(21)과;
상기 초기 덧셈수단(10)으로부터 출력되는 1차 덧셈 계산된 신호 중에서 해당하는 신호를 입력받아 저장하였다가, 2차 덧셈 계산을 수행하도록, 상기 초기 덧셈수단(10)의 제4멀티플렉서(MX18)로 그 신호를 다시 궤환시키는 제2저장수단(25)과;
상기 제1저장수단(21)의 구성은,
상기 초기 덧셈수단(10)의 제1멀티플렉서(MX15)로부터 출력되는 신호와, 가산기(AD15)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제1멀티플렉서(MX21)와;
상기 제1멀티플렉서(MX21)로부터 출력되는 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가 출력하는 제1저장부(M21)와;
상기 제1멀티플렉서(MX21)로부터 출력되는 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가 출력하는 제2저장부(M22)로 이루어져 있다.
상기 제2저장수단(25)의 구성은,
상기 초기 덧셈수단(10)의 제3멀티플렉서(MX17)로부터 출력되는 신호와, 가산기(AD15)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제2멀티플렉서(MX25)와;
상기 제2멀티플렉서(MX25)로부터 출력되는 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가 출력하는 제3저장부(M25)와;
상기 제2멀티플렉서(MX25)로부터 출력되는 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가 출력하는 제4저장부(M26)로 이루어져 있다.
상기 2차 저장수단(30)의 구성은,
상기 초기 덧셈수단(10)으로부터 출력되는 2차 덧셈 계산된 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가, 출력하는 제1저장수단(31)과;
상기 초기 덧셈수단(10)으로부터 출력되는 2차 덧셈 계산된 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가, 출력하는 제2저장수단(35)으로 이루어져 있다.
상기 제1저장수단(31)의 구성은,
상기 1차 저장수단(20)의 제1멀티플렉서(MX21)로부터 출력되는 신호와, 제2멀티플렉서(MX25)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제1멀티플렉서(MX31)와;
상기 제1멀티플렉서(MX31)로부터 출력되는 신호와, 상기 주연산수단(200)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제2멀티플렉서(MX32)와;
상기 제1멀티플렉서(MX31)로부터 출력되는 신호와, 상기 주연산수단(200)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제3멀티플렉서(MX33)와;
상기 주연산수단(200)으로부터 궤환되는 신호를 입력받아, 그 신호를 전달하는 전송 게이트(transmission gate, TG31)와;
상기 전송 게이트(TG31)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제1저장부(M31)와;
상기 제2멀티플렉서(MX32)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제2저장부(M32)와;
상기 제3멀티플렉서(MX33)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제3저장부(M33)와;
상기 제1저장부(M31)와, 제2저장부(M32)와, 제3저장부(M33)로부터 출력되는 신호를 입력받아, 해당하는 신호를 출력하는 제4멀티플렉서(MX34)로 이루어져 있다.
상기 제2저장부(35)의 구성은,
상기 초기 덧셈수단(10)의 가산기(AD15)로부터 출력되는 신호와, 1차 저장수단(20)의 제1멀티플렉서(MX21)로부터 출력되는 신호와, 제2멀티플렉서(MX25)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제1멀티플렉서(MX35)와;
상기 제1멀티플렉서(MX35)로부터 출력되는 신호와, 상기 주연산수단(200)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제2멀티플렉서(MX36)와;
상기 제1멀티플렉서(MX35)로부터 출력되는 신호와, 상기 주연산수단(200)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제3멀티플렉서(MX37)와;
상기 주연산수단(200)으로부터 궤환되는 신호를 입력받아, 그 신호를 전달하는 전송 게이트(TG35)와;
상기 전송 게이트(TG35)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제1저장부(M35)와;
상기 제2멀티플렉서(MX36)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제2저장부(M36)와;
상기 제3멀티플렉서(MX37)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제3저장부(M37)와;
상기 제1저장부(M35)와, 제2저장부(M36)와, 제3저장부(M37)로부터 출력되는 신호를 입력받아, 해당하는 신호를 출력하는 제4멀티플렉서(MX38)로 이루어져 있다.
상기 주연산수단(200)의 구성은,
상기 초기연산수단(100)으로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여, 그 신호에 해당하는 계수를 곱하여 출력하는 계수 곱셈수단(50)과;
상기 계수 곱셈수단(50)으로부터 출력되는 신호와 상기 초기연산수단(100)으로부터 출력되는 신호를 입력받아 두 신호를 나비 연산하여 출력하는 나비 연산수단(60)과;
상기 나비 연산수단(60)으로부터 출력되는 신호를 입력받아, 임시 저장하였다가, 최종적인 신호를 완성하여 출력하는 신호 완성수단(70)으로 이루어져 있다.
상기 계수 곱셈수단(50)의 구성은,
상기 2차 저장수단(30)의 제1저장수단(31)의 제4멀티플렉서(MX34)의 출력신호와, 제2저장수단(35)의 제4멀티플렉서(MX38)의 출력신호를 입력받아, 해당하는 신호를 출력하는 멀티플렉서(MX51)와;
미리 정해진 계수값들을 저장하고 있다가, 입력되는 신호에 해당하는 계수값을 출력하는 롬(Read Only Memory, ROM51)과;
상기 멀티플렉서(MX51)와, 롬(ROM51)으로부터 출력되는 신호를 입력받아, 곱하여 출력하는 곱셈기(MP51)로 이루어져 있다.
상기 나비 연산수단(60)의 구성은,
상기 2차 저장수단(30)의 제1저장수단(31)의 제4멀티플렉서(MX34)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제1래치(latch, LTH61)와;
상기 계수 곱셈수단(50)의 곱셈기(MP51)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제2래치(LTH62)와;
상기 제1래치(LTH61)로부터 출력되는 신호와, 제2래치(LTH62)로부터 출력되는 신호를 입력받아, 두 신호를 더하여, 상기 2차 저장수단(30)의 제1저장수단(31)으로 출력하는 가산기(AD61)와;
상기 제2래치(LTH62)로부터 출력되는 신호를 입력받아, 제1래치(LTH61)로부터 출력되는 신호를 감산하여, 상기 2차 저장수단(30)의 제2저장수단(35)으로 출력하는 감산기(DF61)로 이루어져 있다.
상기 신호 완성수단(70)의 구성은,
상기 가산기(AD61)로부터 출력되는 신호를 입력받아, 저장하였다가 출력하는 제1저장부(M71)와;
상기 감산기(DF61)로부터 출력되는 신호를 입력받아, 저장하였다가 출력하는 제2저장부(M72)로 이루어져 있다.
상기와 같이 이루어져 있는 이 발명의 동작은 다음과 같다.
초기연산수단(100)은 이산 코사인 변환된 신호를 입력받아, 리의 알고리즘을 이용한 이산 코사인 역변환의 초기 덧셈 연산을 하여 출력하고, 주연산수단(200)은 상기 초기연산수단(100)으로부터 출력되는 신호를 입력받아, 리의 알고리즘을 이용한 이산 코사인 역변환의 곱셈 연산과 나비 연산을 하여 출력한다.
즉, 상기 초기연산수단(100)의 초기 덧셈수단(10)은 이산 코사인 변환된 신호와, 궤환되는 신호를 입력받아, 해당하는 신호들을 선택하여 덧셈을 하여 출력하고, 1차 저장수단(20)은 상기 초기 덧셈수단(10)으로부터 출력되는 1차 덧셈 계산된 신호를 입력받아 저장하였다가, 2차 덧셈 계산을 수행하도록, 상기 초기 덧셈수단(10)으로 그 신호를 다시 궤환시키며, 2차 저장수단(30)은 상기 초기 덧셈수단(10)으로부터 출력되는 2차 덧셈 계산된 신호를 입력받아 임시 저장하였다가 출력한다.
그리고, 상기 주연산수단(200)의 계수 덧셈수단(50)은 상기 초기연산수단(100)으로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여, 그 신호에 해당하는 계수를 곱하여 출력하고, 나비 연산수단(60)은 상기 계수 곱셈수단(50)으로부터 출력되는 신호와 상기 초기연산수단(100)으로부터 출력되는 신호를 입력받아 두 신호를 나비 연산하여 출력하며, 신호 완성수단(70)은 상기 나비 연산수단(60)으로부터 출력되는 신호를 입력받아, 임시 저장하였다가, 최종적인 신호를 완성하여 출력한다.
상기 초기연산수단(100)의 동작을 구체적으로 살펴보면 다음과 같다.
초기 덧셈수단(10)의 신호입력수단(11)은 4개의 저장부로 되어 있는데, 각 저장부(M11, M12, M13, M14)는 램(RAM, Random Access Memory), 또는 레지스터(register), 또는 플립플롭(flipflop)나, 래치(latch) 등으로 이루어져 있으며, 이산 코사인 변환된 신호를 입력받아 임시 저장하였다가 출력한다.
상기 신호입력수단(11)으로 입력되는 이산 코사인 변환된 신호는 8포인트의 데이타 두 개가 입력되며, 제1차 데이타가 제1저장부(M11)와 제2저장부(M12)로 입력되고, 제2차 데이타는 제3저장부(M13)와 제4저장부(M14)로 입력된다.
제1저장부(M11)는 이산 코사인 변환된 신호의 제1차 데이타의 1포인트~4포인트르 순차적으로 입력받아 임시 저장하였다가 출력하고, 제2저장부(M12)는 이산 코사인 변환된 신호의 제1차 데이타의 5포인트~8포인트를 순차적으로 입력받아 임시 저장하였다가 출력한다.
그리고, 제3저장부(M13)는 이산 코사인 변환된 신호의 제2차 데이타의 5포인트~8포인트를 순차적으로 입력받아 임시 저장하였다가 출력하고, 제4저장부(M12)는 이산 코사인 변환된 신호의 제2차 데이타의 1포인트~4포인트를 순차적으로 입력받아 임시 저장하였다가 출력한다.
초기 덧셈수단(10)의 가산수단(15)은 상기 신호입력수단(11)으로부터 출력되는 신호를 입력받아, 해당하는 신호들을 선택하여 덧셈을 하여 출력한다.
즉, 제1멀티플렉서(MX15)는 상기 신호입력수단(11)의 제2저장부(M12)로부터 출력되는 신호와 제4저장부(M14)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하고, 제2멀티플렉서(MX16)는 상기 제1멀티플렉서(MX15)로부터 출력되는 신호와, 상기 1차 저장수단(20)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력한다.
그리고, 제3멀티플렉서(MX17)는 상기 신호입력수단(11)의 제1저장부(M11)로부터 출력되는 신호와 제3저장부(M13)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하고, 제4멀티플렉서(MX18)는 상기 제3멀티플렉서(MX15)로부터 출력되는 신호와, 상기 1차 저장수단(20)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력한다.
가산기(AD15)는 상기 제2멀티플렉서(MX16)와, 제4멀티플렉서(MX18)로부터 출력되는 신호를 입력받아, 두 값을 더하여 출력한다.
상기 1차 저장수단(20)의 제1저장수단(21)과 제2저장수단(25)은 상기 초기 덧셈수단(10)으로부터 출력되는 1차 덧셈 계산된 신호 중에서 해당하는 신호를 입력받아 저장하였다가, 2차 덧셈 계산을 수행하도록, 상기 초기 덧셈수단(10)의 제2멀티플렉서(MX16)로 그 신호를 궤환시킨다.
즉, 제1저장수단(21)의 제1멀티플렉서(MX21)는 상기 초기 덧셈수단(10)의 제1멀티플렉서(MX15)로부터 출력되는 신호와, 가산기(AD15)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 제1저장부(M21) 또는 제2저장부(M22)로 출력하며, 제1저장부(M21) 또는 제2저장부(M22)는 상기 제1멀티플렉서(MX21)로부터 출력되는 신호 중에서 해당하는 신호를 입력받아 임시 저장하였다가 출력한다.
그리고, 상기 제2저장수단(25)의 각 부분의 동작은 상기 제1저장수단(21)과 같으며, 제1저장부(M21)와 제3저장부(M25), 그리고 제2저장부(M23)와 제4저장부(M24)는 서로 교대로 동작한다.
한편, 상기 2차 저장수단(30)의 구체적인 동작은 다음과 같다.
2차 저장수단(30)의 제1저장수단(31)과 제2저장수단(32)은 상기 초기 덧셈수단(10)으로부터 출력되는 2차 덧셈 계산된 신호 중에서 해당하는 신호를 입력받아 저장하였다가 출력한다.
상기 제1저장수단(31)의 제1멀티플렉서(MX31)는 상기 1차 저장수단(20)의 제1멀티플렉서(MX21)로부터 출력되는 신호와, 제2멀티플렉서(MX25)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하고, 제2멀티플렉서(MX32)와 제3멀티플렉서(MX33)는 상기 제1멀티플렉서(MX31)로부터 출력되는 신호와, 상기 주연산수단(200)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력한다.
그리고, 전송 게이트(TG31)는 상기 주연산수단(200)으로부터 궤환되는 신호를 입력받아, 그 신호를 전달하고, 제1저장부(M31)와, 제2저장부(M32)와, 제3저장부(M33)는 각각 상기 전송 게이트(TG31)와, 제2멀티플렉서(MX32)와, 제3멀티플렉서(MX33)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력한다.
제4멀티플렉서(MX34)는 상기 제1저장부(M31)와, 제2저장부(M32)와, 제3저장부(M33)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 주연산수단(200)으로 출력한다.
상기 제2저장수단(35)의 동작도 상기 제1저장수단(31)의 동작과 같으며, 상기 제1저장수단(31)과 제2저장수단(35), 각각의 제1저장부(M31, M35)와, 제2저장부(M32, M36)와, 제3저장부(M33, M37)는 각각 교대로 동작한다.
한편, 상기 주연산수단(200)의 동작을 구체적으로 살펴보면 다음과 같다.
계수 덧셈수단(50)은 상기 초기연산수단(100)으로부터 출력되는 신호를 입력받아, 해당하는 신호들을 선택하여, 그 신호에 해당하는 계수를 곱하여 출력하고, 나비 연산수단(60)은 상기 계수 곱셈수단(50)으로부터 출력되는 신호와 상기 초기연산수단(100)으로부터 출력되는 신호를 입력받아 두 신호를 나비 연산하여 출력하며, 신호 완성수단(70)은 상기 나비 연산수단(60)으로부터 출력되는 신호를 입력받아, 임시 저장하였다가, 최종적인 신호를 완성하여 출력한다.
즉, 상기 계수 곱셈수단(50)의 멀티플렉서(MX51)는 상기 2차 저장수단(30)의 제1저장수단(31)의 제4멀티플렉서(MX34)의 출력신호와, 제2저장수단(35)의 제4멀티플렉서(MX38)의 출력신호를 입력받아 해당하는 신호를 선택하여 출력하고, 롬(ROM51)은 미리 정해진 계수값들을 저장하고 있다가, 입력되는 신호에 해당하는 계수값을 출력하며, 곱셈기(MP51)는 상기 멀티플렉서(MX51)와, 롬(ROM51)으로부터 출력되는 신호를 곱하여 출력한다.
그리고, 제1래치(LTH61)와 제2래치(LTH62)는 각각 상기 2차 저장수단(30)의 제1저장수단(31)의 제4멀티플렉서(MX34)로부터 출력되는 신호와, 상기 계수 곱셈수단(50)의 곱셈기(MP51)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력한다.
가산기(AD61)는 상기 제1래치(LTH61)로부터 출력되는 신호를 입력받아, 상기 제2래치(LTH62)로부터 출력되는 신호를 더하여, 상기 2차 저장수단(30)의 제1저장수단(31)으로 출력하고, 감산기(DF61)는 상기 제2래치(LTH62)로부터 출력되는 신호를 입력받아, 상기 제1래치(LTH61)로부터 출력되는 신호를 감산하여, 상기 2차 저장수단(30)의 제2저장수단(35)으로 출력한다.
그리고, 상기 신호 완성수단(70)의 제1저장부(M71)와, 제2저장부(M72)는 각각 상기 가산기(AD61)로부터 출력되는 신호와 감산기(DF61)로부터 출력되는 신호를 입력받아, 저장하였다가 출력하는데, 최종적인 연산이 모두 끝난 후에 저장되는 값이 이산 코사인 역변환된 신호값이 된다.
제2도에서 보면, 상기 리의 알고리즘을 이용한 이산 코사인 역변환 시스템의 신호 흐름이 나타나 있는데, 여기서 1단과 2단은 초기연산수단(100)의 동작을 나타내고, 3단 이하는 주연산수단(200)의 동작을 나타낸다.
그리고, 아래의 표 1과 표 2에서는 동작시간에 따른 시스템 각 소자의 동작을 나타내었다.
이하, 상기 표 1과, 표 2, 그리고 제2도를 참고하여 구체적인 동작을 설명하면 다음과 같다.
8포인트의 이산 코사인 변환된 신호(X(0)~X(7))가 상기 초기연산수단(100)의 신호입력수단(11)의 제1저장부(M11)와 제2저장부(M12), 또는 제4저장부(M14)와 제3저장부(M13)에 저장되어 있다가, 각각의 동작시간마다 해당하는 연산의 동작을 행한다.
즉, 신호입력수단(11)의 제2저장부(M12)에 첫 번째 이산 코사인 변환된 신호의 제1포인트 신호(X(0))와, 제3포인트 신호(X(2))와, 제2포인트 신호(X(1))와, 제6포인트 신호(X(5))가 저장되어 있고, 제1저장부(M11)에 제5포인트 신호(X(4))와, 제7포인트 신호(X(6))와, 제4포인트 신호(X(3))와, 제8포인트 신호(X(7))가 저장되어 있다.
표 1에서 보듯이, 제1동작시간(T1)에는 신호입력수단(11)의 제2저장부(M12)에 저장되어 있는 제1포인트 신호(X(0))와, 제1저장부(M11)에 저장되어 있는 제4포인트 신호(X(3))를 읽어서, 각각 1차 저장수단(20)의 제2저장부의 첫 번째 저장소(M22(0))와 제4저장부의 첫 번째 저장소(M26(0))에 저장한다.
그 동작을 상세히 설명하면, 가산수단(15)의 제1멀티플렉서(MX15)에서는 상기 신호입력수단(11)의 제2저장부(M12)의 첫 번째 신호인 제1포인트 신호(X(0))를 선택하고, 제3멀티플렉서(MX17)는 신호입력수단(11)의 제1저장부(M11)의 첫 번째 신호인 제5포인트 신호(X(4))를 선택하여 출력한다.
그리고, 1차 저장수단(20)의 제1멀티플렉서(MX21)는 상기 가산수단(15)의 제1멀티플렉서(MX15)로부터 출력되는 신호인 제5포인트 신호(X(4))를 선택하여 제2저장부의 첫 번째 저장소(M22(0))에 저장하고, 제2멀티플렉서(MX25)는 상기 가산수단(15)의 제3멀티플렉서(MX17)로부터 출력되는 신호인 제1포인트 신호(X(0))를 선택하여 제4저장부의 첫 번째 저장소(M26(0))에 저장한다.
상기와 같은 동작으로, 제2동작시간(T2)에는 신호입력수단(11)의 제2저장부(M12)에 저장되어 있는 제2포인트 신호(X(1))와, 제1저장부(M11)에 저장되어 있는 제7포인트 신호(X(7))를 읽어서, 각각 1차 저장수단(20)의 제2저장부의 두 번째 저장소(M22(1))와 제4저장부의 두 번째 저장소(M26(1))에 저장한다.
위의 표 3에는 제1동작시간(T1)부터 제5동작시간(T5)까지의 동작이 나타나 있다.
제2도에서 보듯이, 1단에서는 신호입력수단(11)의 각 저장부(M11~M14)에 입력되어 있는 신호들을 연산하여 1차 저장수단(20)의 각 저장부(M21, M22, M25, M26)에 저장하는데, 상기 표 3에 나타난 것과 같이, 해당하는 동작시간에 가산수단(15)의 연산을 통해 동작을 수행한다.
제3동작시간(T3)에는, 제2포인트 신호(X(1))를 1차 저장수단(20)의 제2저장부의 세 번째 저장소(M22(2))로 저장하고, 제2포인트 신호(X(1))와 제4포인트 신호(X(3))를 더하여 제4저장부의 세 번째 저장소(M26(2))로 저장하는데, 가산수단(15)에서 두 신호를 더하는 동작을 수행한다.
그리고, 제4동작시간(T4)에는 제4포인트 신호(X(3))와 제6포인트 신호 (X(5))를 더하여 제4저장부의 네 번째 저장소(M26(3))에 저장하고, 제5동작시간(T5)에는 제6포인트 신호(X(5))와 제8포인트 신호(X(7))를 더하여 제2저장부의 네 번째 저장소(M22(3))에 저장한다.
상기 제1동작시간(T1)부터 제5동작시간(T5)까지의 동작은, 제2도에서 보면, 첫 번째 이산 코사인 변환된 데이타의 1단 처리 단계이다.
상기 표 1에서 보면, 제6동작시간(T6)부터 제10동작시간(T10)까지는 신호입력수단(11)의 제3저장부(M13)와 제4저장부(M14)에 저장되어 있는 다음의 이산 코사인 변환된 신호를 각각 1차 저장수단(20)의 제1저장부(M21)와 제3저장부(M25)에 저장하며, 그 동작은 제1동작신호(T1)부터 제5동작신호(T5)의 동작과 같은 방법으로 수행하며, 제2도에서 보면, 두 번째 이산 코사인 변환된 데이타의 1단 처리 단계이다.
제11동작시간(T11)부터 제14동작시간(T14)까지는 제2도의 2단에 도시된 것과 같은 동작을 하는데, 아래의 표 4에 그 동작이 나타나 있다.
즉, 제11동작시간(T11)에는 1차 저장수단(20)의 제2저장부의 첫 번째 저장소(M22(0))로부터 출력되는 신호를 입력받아, 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 첫 번째 저장소(M33(0))에 저장하고, 1차 저장수단(20)의 제4저장부의 첫 번째 저장소(M26(0))로부터 출력되는 신호를 입력받아, 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 첫 번째 저장소(M37(0))에 저장한다.
그리고, 제12동작시간(T12)에는 1차 저장수단(20)의 제2저장부의 두 번째 저장소(M22(1))로부터 출력되는 신호를 입력받아 2차 저장부(30)의 제1저장부(31)의 제3저장부의 두 번째 저장소(M33(1))에 저장하고, 1차 저장수단(20)의 제2저장부의 두 번째 저장소(M22(1))로부터 출력되는 신호와 1차 저장수단(20)의 제4저장부의 두 번째 저장소(M26(1))로부터 출력되는 신호를 더하여, 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 두 번째 저장소(M37(1))에 저장한다.
또, 제13동작시간(T13)에는 1차 저장수단(20)의 제2저장부의 세 번째 저장소(M22(2))로부터 출력되는 신호를 입력받아, 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 세 번째 저장소(M33(2))에 저장하고, 1차 저장수단(20)의 제4저장부의 네 번째 저장소(M26(3))로부터 출력되는 신호를 입력받아, 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 세 번째 저장소(M37(2))에 저장한다.
그리고, 제14동작시간(T14)에는 1차 저장수단(20)의 제2저장부의 세 번째 저장소(M22(1))로부터 출력되는 신호를 입력받아 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 네 번째 저장소(M33(3))에 저장하고, 1차 저장수단(20)의 제2저장부의 네 번째 저장소(M22(3))로부터 출력되는 신호와 1차 저장수단(20)의 제4저장부의 세 번째 저장소(M26(2))로부터 출력되는 신호를 더하여, 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 네 번째 저장소(M37(3))에 저장한다.
상기 제11동작시간(T11)보터 제14동작시간(T14)까지의 동작은, 제2도에서 보면, 첫 번째 이산 코사인 변환된 데이타의 2단 처리 단계이다.
상기 표 1에서 보면, 제15동작시간(T15)부터 제18동작시간(T18)까지는 1차 저장수단(20)의 제1저장부(M21)와 제3저장부(M25)에 저장되어 있는 다음의 신호를 각각 2차 저장수단(30)의 제1저장수단(31)의 제2저장부(M32)와 제2저장부(35)의 제2저장부(M36)에 저장하며, 그 동작은 제11동작신호(T11)부터 제14동작신호(T14)의 동작과 같은 방법으로 수행하며, 제2도에서 보면, 두 번째 이산 코사인 변환된 데이타의 2단 처리 단계이다.
한편, 제2도에서 3단과 4단과 5단은 해당하는 계수를 곱하고 나비 연산을 수행하는 계산 단계이다.
표 2에서 보면, 제19동작시간(T19)에는 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 첫 번째 저장소(M33(0))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 0번지 계수값을 곱하여 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 제20동작시간(T20)에는 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 첫 번째 저장소(M33(0))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 0번지 계수값을 곱하여 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
여기서, 상기 롬(ROM51)의 각 번지에 입력되어 있는 계수값은 아래의 표 5와 같다.
한편, 상기에서 계수값을 곱하는 동작은 계수 곱셈수단(50)에서 수행되며, 멀티플렉서(MX51)에서 상기 2차 저장수단(30)의 제1저장수단(31)의 제4멀티플렉서(MX34)로부터 출력되는 신호와, 제2저장수단(35)의 제4멀티플렉서(MX38)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하며, 그 값을 입력받은 곱셈기(MP51)는 롬(ROM51)으로부터 출력되는 해당하는 계수값을 곱하게 된다.
상기 표 2에서, 제21동작시간(T21)에는, 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장된 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 첫 번째 저장소(M31(0))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 두 번째 저장소(M35(1))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 두 번째 저장소(M33(1))에 저장되어 있는 신호의 값을 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 두 번째 저장소(M37(1))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 0번지 계수값을 곱하여 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
여기서, 상기 나비 연산은 나비 연산수단(60)에서 수행되며, 계수가 곱해지지 않은 값과 계수가 곱해진 값을 더하여 계수가 곱해지지 않은 쪽에 그 값을 대치하고, 계수가 곱해지지 않은 값에서 계수가 곱해진 값을 감산하여 계수가 곱해진 쪽에 그 값을 대치하는 연산이다.
또, 제22동작시간(T22)에는, 상기 제21동작시간(T21)에 상기 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 두 번째 저장소(M31(1))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 첫 번째 저장소(M35(0))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 세 번째 저장소(M33(2))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 세 번째 저장소(M37(2))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 0번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
또, 제23동작시간(T23)에는, 상기 제22동작시간(T22)에 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장해 두었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 세 번째 저장소(M31(2))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 네 번째 저장소(M35(3))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 네 번째 저장소(M33(3))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 네 번째 저장소(M37(3))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 0번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
상기 제19동작시간(T19)부터 제23동작시간(T23)까지의 동작은, 제2도에서 보면, 첫 번째 이산 코사인 변환된 데이타의 3단 처리 단계이다.
또, 제24동작시간(T24)에는, 상기 제23동작시간(T23)에 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 네 번째 저장소(M31(3))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 세 번째 저장소(M35(2))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 첫 번째 저장소(M33(0))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장한다.
또, 제25동작시간(T25)에는, 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 첫번째 저장소(M36(0))에 저장되어 있는 신호를 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
제26동작시간(T26)에는, 상기 제24동작시간(T24)과 제25동작시간(T25)에 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 신호를 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 첫 번째 저장소(M33(0))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 두 번째 저장소(M37(1))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 두 번째 저장소(M32(1))에 저장되어 있는 신호의 값을 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 두 번째 저장소(M36(1))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 0번지 계수값을 곱하여 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
또, 제27동작시간(T27)에는, 상기 제26동작시간(T26)에 상기 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 두 번째 저장소(M33(1))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 첫 번째 저장소(M37(0))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 세 번째 저장소(M32(2))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 세 번째 저장소(M36(2))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 0번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
또, 제28동작시간(T28)에는, 상기 제27동작시간(T27)에 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장해 두었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 세 번째 저장소(M33(2))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 네 번째 저장소(M37(3))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 네 번째 저장소(M32(3))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 네 번째 저장소(M37(3))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 0번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
상기 제24동작시간(T24)부터 제28동작시간(T28)까지의 동작은, 제2도에서 보면, 두 번째 이산 코사인 변환된 데이타의 3단 처리 단계이다.
또, 제29동작시간(T29)에는, 상기 제28동작시간(T28)에 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 네 번째 저장소(M33(3))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 세 번째 저장소(M37(2))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 첫 번째 저장소(M32(0))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 첫 번째 저장소(M35(0))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 1번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
또, 제30동작시간(T30)에는, 상기 제29동작시간(T29)에 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 첫 번째 저장소(M32(0))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 세 번째 저장소(M36(2))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 두 번째 저장소(M31(1))에 저장되어 있는 신호의 값을 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 두 번째 저장소(M35(1))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 2번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
또, 제31동작시간(T31)에는, 상기 제30동작시간(T30)에 상기 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 두 번째 저장소(M32(1))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 네 번째 저장소(M36(3))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 세 번째 저장소(M31(2))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 세 번째 저장소(M35(2))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 1번지 계수값을 곱하여 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
또, 제32동작시간(T32)에는, 상기 제31동작시간(T31)에 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장해 두었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 세 번째 저장소(M32(2))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 첫 번째 저장소(M36(0))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 네 번째 저장소(M31(3))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 네 번째 저장소(M35(3))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 2번지 계수값을 곱하여 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
상기 제29동작시간(T29)부터 제32동작시간(T32)까지의 동작은, 제2도에서 보면, 첫 번째 이산 코사인 변환된 데이타의 4단 처리 단계이다.
또, 제33동작시간(T33)에는, 상기 제28동작시간(T28)에 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 신호를 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 네 번째 저장소(M32(3))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 두 번째 저장소(M36(1))에 저장한다.
그리고, 상기 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 첫 번째 저장소(M33(0))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 첫 번째 저장소(M37(0))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 1번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
또, 제34동작시간(T30)에는, 상기 제33동작시간(T33)에 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 첫 번째 저장소(M31(0))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 세 번째 저장소(M35(2))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 두 번째 저장소(M33(1))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 두 번째 저장소(M35(1))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 2번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
또, 제35동작시간(T35)에는, 상기 제34동작시간(T34)에 상기 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 두 번째 저장소(M31(1))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 네 번째 저장소(M35(3))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 세 번째 저장소(M33(2))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 세 번째 저장소(M37(2))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 1번지 계수값을 곱하여 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
또, 제36동작시간(T36)에는, 상기 제35동작시간(T35)에 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장해 두었던 두 값을 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 세 번째 저장소(M31(2))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 첫 번째 저장소(M35(0))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제3저장부의 네 번째 저장소(M33(3))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제3저장부의 네 번째 저장소(M37(3))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 2번지 계수값을 곱하여 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
상기 제33동작시간(T33)부터 제36동작시간(T36)까지의 동작은, 제2도에서 보면, 두 번째 이산 코사인 변환된 데이타의 4단 처리 단계이다.
또, 제37동작시간(T37)에는, 상기 제28동작시간(T28)에 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 신호를 나비 연산하여, 두 값이 더해진 값을 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 네 번째 저장소(M31(3))에 저장하고, 감산된 값을 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 두 번째 저장소(M35(1))에 저장한다.
그리고, 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 첫 번째 저장소(M32(0))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 첫 번째 저장소(M36(0))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 3번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
그리고나서, 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 신호를 나비 연산하여, 두 값이 더해진 값을 신호 완성수단(70)의 제1저장부의 첫 번째 저장소(M71(0))에 저장하고, 감산된 값을 신호 완성수단(70)의 제2저장부의 네 번째 저장소(M72(3))에 저장한다.
또, 제38동작시간(T38)에는, 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 두 번째 저장소(M32(1))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 두 번째 저장소(M36(1))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 4번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
그리고나서, 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장된 두 값을 나비 연산하여, 두 값이 더해진 값을 신호 완성수단(70)의 제1저장부의 세 번째 저장소(M71(2))에 저장하고, 감산된 값을 신호 완성수단(70)의 제2저장부의 두 번째 저장소(M72(1))에 저장한다.
또, 제39동작시간(T39)에는, 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 세 번째 저장소(M32(2))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 세 번째 저장소(M36(2))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 5번지 계수값을 곱하여 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
그리고나서, 상기 제1래치(LTH61)와 제2래치(LTH62)에 저장된 두 값을 나비 연산하여, 두 값이 더해진 값을 신호 완성수단(70)의 제1저장부의 네 번째 저장소(M71(3))에 저장하고, 감산된 값을 신호 완성수단(70)의 제2저장부의 첫 번째 저장소(M72(0))에 저장한다.
또, 제40동작시간(T40)에는, 2차 저장수단(30)의 제1저장수단(31)의 제2저장부의 네 번째 저장소(M32(3))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제2저장부의 네 번째 저장소(M36(3))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 6번지 계수값을 곱하여 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
그리고나서, 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장된 두 값을 나비 연산하여, 두 값이 더해진 값을 신호 완성수단(70)의 제1저장부의 두 번째 저장소(M71(1))에 저장하고, 감산된 값을 신호 완성수단(70)의 제2저장부의 세 번째 저장소(M72(2))에 저장한다.
상기 제37동작시간(T37)부터 제40동작시간(T40)까지의 동작은, 제2도에서 보면, 첫 번째 이산 코사인 변환된 데이타의 5단 처리 단계이며, 상기 신호 완성수단(70)의 제1저장부(M71)와 제2저장부(M72)의 각 저장소에 저장된 값이 첫 번째 데이타의 이산 코사인 역변환된 최종값이다.
또, 제41동작시간(T41)에는, 상기 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 첫 번째 저장소(M31(0))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 첫 번째 저장소(M35(0))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 3번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
그리고나서, 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장되었던 두 신호를 나비 연산하여, 두 값이 더해진 값을 신호 완성수단(70)의 제1저장부의 첫 번째 저장소(M71(0))에 저장하고, 감산된 값을 신호 완성수단(70)의 제2저장부의 네 번째 저장소(M72(3))에 저장한다.
또, 제42동작시간(T42)에는, 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 두 번째 저장소(M31(1))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 두 번째 저장소(M35(1))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 4번지 계수값을 곱하여 상기 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
그리고나서, 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장된 두 값을 나비 연산하여, 두 값이 더해진 값을 신호 완성수단(70)의 제1저장부의 세 번째 저장소(M71(2))에 저장하고, 감산된 값을 신호 완성수단(70)의 제2저장부의 두 번째 저장소(M72(1))에 저장한다.
또, 제43동작시간(T43)에는, 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 세 번째 저장소(M31(2))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 세 번째 저장소(M35(2))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 5번지 계수값을 곱하여 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
그리고나서, 상기 제1래치(LTH61)와 제2래치(LTH62)에 저장된 두 값을 나비 연산하여, 두 값이 더해진 값을 신호 완성수단(70)의 제1저장부의 네 번째 저장소(M71(3))에 저장하고, 감산된 값을 신호 완성수단(70)의 제2저장부의 첫 번째 저장소(M72(0))에 저장한다.
또, 제44동작시간(T44)에는, 2차 저장수단(30)의 제1저장수단(31)의 제1저장부의 네 번째 저장소(M31(3))에 저장되어 있는 신호를 나비 연산수단(60)의 제1래치(LTH61)에 저장하고, 2차 저장수단(30)의 제2저장수단(35)의 제1저장부의 네 번째 저장소(M35(3))에 저장되어 있는 신호의 값에 계수 곱셈수단(50)의 롬(ROM51)의 6번지 계수값을 곱하여 나비 연산수단(60)의 제2래치(LTH62)에 저장한다.
그리고나서, 상기 나비 연산수단(60)의 제1래치(LTH61)와 제2래치(LTH62)에 저장된 두 값을 나비 연산하여, 두 값이 더해진 값을 신호 완성수단(70)의 제1저장부의 두 번째 저장소(M71(1))에 저장하고, 감산된 값을 신호 완성수단(70)의 제2저장부의 세 번째 저장소(M72(2))에 저장한다.
상기 제41동작시간(T41)부터 제44동작시간(T44)까지의 동작은, 제2도에서 보면, 첫 번째 이산 코사인 변환된 데이타의 5단 처리 단계이며, 상기 신호 완성수단(70)의 제1저장부(M71)와 제2저장부(M72)의 각 저장소에 저장된 값이 두 번째 데이타의 이산 코사인 역변환된 최종값이다.
상기와 같이, 덧셈의 단계를 미리 계산하고, 곱셈기를 하나만 구성하여 곱셈의 수를 줄여서 이산 코사인 역변환시킬 수 있다.
따라서, 상기와 같이 동작하는 이 발명의 효과는, MPEG 등에서 데이타 압축 및 복원을 위하여 사용하고 있는 이산 코사인 역변환 시스템에 있어서, 리의 알고리즘을 이용하여 회로를 구현함으로써, 곱셈의 횟수를 줄여서 계산에 소요되는 시간을 단축시키고, 전체 회로의 크기를 줄인, 리의 알고리즘을 이용한 이산 코사인 역변환 시스템을 제공하도록 한 것이다.
Claims (14)
- 이산 코사인 변환된 신호를 입력받아, 리의 알고리즘을 이용한 이산 코사인 역변환의 덧셈 연산을 하여 출력하는 초기연산수단과; 상기 초기연산수단으로부터 출력되는 신호를 입력받아, 리의 알고리즘을 이용한 이산 코사인 역변환의 곱셈 연산과 나비 연산을 하여 출력하는 주연산수단을 포함하며, 상기 초기연산수단은, 이산 코사인 변환된 신호와, 궤환되는 신호를 입력받아, 해당하는 신호들을 선택하여 덧셈을 하여 출력하는 초기 덧셈수단(10)과; 상기 초기 덧셈수단(10)으로부터 출력되는 1차 덧셈 계산된 신호를 입력받아 저장하였다가, 2차 덧셈 계산을 수행하도록, 상기 초기 덧셈수단(10)으로 그 신호를 다시 궤환시키는 1차 저장수단(20)과; 상기 초기 덧셈수단(10)으로부터 출력되는 2차 덧셈 계산된 신호를 입력받아 임시 저장하였다가 출력하는 2차 저장수단(30)을 포함하는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제1항에 있어서, 상기 초기덧셈수단(10)의 구성은, 이산 코사인 변환된 신호를 입력받아, 임시 저장하였다가 출력하는 신호입력수단(11)과; 상기 신호입력수단(11)으로부터 출력되는 신호를 입력받아, 해당하는 신호들을 선택하여 덧셈을 하여 출력하는 가산수단(15)으로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제2항에 있어서, 상기 신호입력수단(11)의 구성은, 이산 코사인 변환된 신호의 제1차의 1포인트~4포인트를 입력받아, 임시 저장하였다가 해당하는 신호를 출력하는 제1저장부(M11)와; 이산 코사인 변환된 신호의 제1차의 5포인트~8포인트를 입력받아, 임시 저장하였다가 해당하는 신호를 출력하는 제2저장부(M12)와; 이산 코사인 변환된 신호의 제2차의 5포인트~8포인트를 입력받아, 임시 저장하였다가 해당하는 신호를 출력하는 제3저장부(M13)와; 이산 코사인 변환된 신호의 제2차의 1포인트~4포인트를 입력받아, 임시 저장하였다가 해당하는 신호를 출력하는 제4저장부(M14)로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제2항에 있어서, 상기 가산수단(15)의 구성은, 상기 신호입력수단(11)의 제2저장부(M12)로부터 출력되는 신호와 제4저장부(M14)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제1멀티플렉서(MX15)와; 상기 제1멀티플렉서(MX15)로부터 출력되는 신호와, 상기 1차 저장수단(20)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제2멀티플렉서(MX16)와; 상기 신호입력수단(11)의 제1저장부(M11)로부터 출력되는 신호와 제3저장부(M13)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제3멀티플렉서(MX17)와; 상기 제3멀티플렉서(MX15)로부터 출력되는 신호와, 상기 1차 저장수단(20)으로부터 궤한되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제4멀티플렉서(MX18)와; 상기 제2멀티플렉서(MX16)와, 제4멀티플렉서(MX18)로부터 출력되는 신호를 입력받아, 두 값을 더하여 출력하는 가산기(AD15)로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제1항에 있어서, 상기 1차 저장수단(20)의 구성은, 상기 초기 덧셈수단(10)으로부터 출력되는 1차 덧셈 계산된 신호 중에서 해당하는 신호를 입력받아 저장하였다가, 2차 덧셈 계산을 수행하도록, 상기 초기 덧셈수단(10)의 제2멀티플렉서(MX16)로 그 신호를 다시 궤환시키는 1차 저장수단(20)과; 상기 초기 덧셈수단(10)으로부터 출력되는 1차 덧셈 계산된 신호 중에서 해당하는 신호를 입력받아 저장하였다가, 2차 덧셈 계산을 수행하도록, 상기 초기 덧셈수단(10)의 제4멀티플렉서(MX18)로 그 신호를 다시 궤한시키는 2차 저장수단(25)으로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제5항에 있어서, 상기 제1저장수단(21)의 구성은, 상기 초기 덧셈수단(10)의 제1멀티플렉서(MX15)로부터 출력되는 신호와, 가산기(AD15)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제1멀티플렉서(MX21)와; 상기 제1멀티플렉서(MX21)로부터 출력되는 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가 출력하는 제1저장부(M21)와; 상기 제1멀티플렉서(MX21)로부터 출력되는 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가 출력하는 제2저장부(M22)로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제5항에 있어서, 상기 제2저장수단(25)의 구성은, 상기 초기 덧셈수단(10)의 제3멀티플렉서(MX17)로부터 출력되는 신호와, 가산기(AD15)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제2멀티플렉서(MX25)와; 상기 제2멀티플렉서(MX25)로부터 출력되는 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가 출력하는 제3저장부(M25)와; 상기 제2멀티플렉서(MX25)로부터 출력되는 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가 출력하는 제4저장부(M26)로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제1항에 있어서, 상기 2차 저장수단(30)의 구성은, 상기 초기 덧셈수단(10)으로부터 출력되는 2차 덧셈 계산된 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가 출력하는 제1저장수단(31)과; 상기 초기 덧셈수단(10)으로부터 출력되는 2차 덧셈 계산된 신호 중에서 해당하는 신호를 입력받아, 임시 저장하였다가 출력하는 제2저장수단(35)으로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제8항에 있어서, 상기 제1저장수단(31)의 구성은, 상기 1차 저장수단(20)의 제1멀티플렉서(MX21)로부터 출력되는 신호와, 제2멀티플렉서(MX25)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제1멀티플렉서(MX31)와; 상기 제1멀티플렉서(MX31)로부터 출력되는 신호와, 상기 주연산수단(200)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제2멀티플렉서(MX32)와; 상기 제1멀티플렉서(MX31)로부터 출력되는 신호와, 상기 주연산수단(200)으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제3멀티플렉서(MX33)와; 상기 주연산수단으로부터 궤환되는 신호를 입력받아, 그 신호를 전달하는 전송 게이트(TG31)와; 상기 전송 게이트(TG31)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제1저장부(M31)와; 상기 제2멀티플렉서(MX32)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제2저장부(M32)와; 상기 제3멀티플렉서(MX33)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제3저장부(M33)와; 상기 제1저장부(M31)와, 제2저장부(M32)와, 제3저장부(M33)로부터 출력되는 신호를 입력받아, 해당하는 신호를 출력하는 제4멀티플렉서(MX34)로 이루어져 있는 것을 특징으로하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제8항에 있어서, 상기 제2저장부(35)의 구성은, 상기 초기 덧셈수단(10)의 가산기(AD15)로부터 출력되는 신호와, 1차 저장수단(20)의 제1멀티플렉서(MX21)로부터 출력되는 신호와, 제2멀티플렉서(MX25)로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제1멀티플렉서(MX35)와; 상기 제1멀티플렉서(MX35)로부터 출력되는 신호와, 상기 주연산수단으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제2멀티플렉서(MX36)와; 상기 제1멀티플렉서(MX35)로부터 출력되는 신호와, 상기 주연산수단으로부터 궤환되는 신호를 입력받아, 해당하는 신호를 선택하여 출력하는 제3멀티플렉서(MX37)와; 상기 주연산수단으로부터 궤환되는 신호를 입력받아, 그 신호를 전달하는 전송 게이트(TG35)와; 상기 전송 게이트(TG35)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제1저장부(M35)와; 상기 제2멀티플렉서(MX36)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제2저장부(M36)와; 상기 제3멀티플렉서(MX37)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제3저장부(M37)와; 상기 제1저장부(M35)와, 제2저장부(M36)와, 제3저장부(M37)로부터 출력되는 신호를 입력받아, 해당하는 신호를 출력하는 제4멀티플렉서(MX38)로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제1항에 있어서, 상기 주연산수단의 구성은, 상기 초기연산수단으로부터 출력되는 신호를 입력받아, 해당하는 신호를 선택하여, 그 신호에 해당하는 계수를 곱하여 출력하는 계수 곱셈수단(50)과; 상기 계수 곱셈수단(50)으로부터 출력되는 신호와 상기 초기연산수단으로부터 출력되는 신호를 입력받아 두 신호를 나비 연산하여 출력하는 나비 연산수단(60)과; 상기 나비 연산수단(60)으로부터 출력되는 신호를 입력받아, 임시 저장하였다가, 최종적인 신호를 완성하여 출력하는 신호 완성수단(70)으로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제11항에 있어서, 상기 계수 곱셈수단(50)의 구성은, 상기 2차 저장수단(30)의 제1저장수단(31)의 제4멀티플렉서(MX34)의 출력신호와, 제2저장수단(35)의 제4멀티플렉서(MX38)의 출력신호를 입력받아, 해당하는 신호를 출력하는 멀티플렉서(MX51)와; 미리 정해진 계수값들을 저장하고 있다가, 입력되는 신호에 해당하는 계수값을 출력하는 롬(ROM51)과; 상기 멀티플렉서(MX51)와, 롬(ROM51)으로부터 출력되는 신호를 입력받아, 곱하여 출력하는 곱셈기(MP51)로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제11항에 있어서, 상기 나비 연산수단(60)의 구성은, 상기 2차 저장수단(30)의 제1저장수단(31)의 제4멀티플렉서(MX34)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제1래치(LTH61)와; 상기 계수 곱셈수단(50)의 곱셈기(MP51)로부터 출력되는 신호를 입력받아, 임시 저장하였다가 출력하는 제2래치(LTH62)와; 상기 제1래치(LTH61)로부터 출력되는 신호와, 제2래치(LTH62)로부터 출력되는 신호를 입력받아, 두 신호를 더하여, 상기 2차 저장수단(30)의 제1저장수단(31)으로 출력하는 가산기(AD61)와; 상기 제2래치(LTH62)로부터 출력되는 신호를 입력받아, 제1래치(LTH61)로부터 출력되는 신호를 감산하여, 상기 2차 저장수단(30)의 제2저장수단(35)으로 출력하는 감산기(DF61)로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
- 제11항에 있어서, 상기 신호 완성수단(70)의 구성은, 상기 가산기(AD61)로부터 출력되는 신호를 입력받아, 저장하였다가 출력하는 제1저장부(M71)와; 상기 감산기(DF61)로부터 출력되는 신호를 입력받아, 저장하였다가 출력하는 제2저장부(M72)로 이루어져 있는 것을 특징으로 하는 리의 알고리즘을 이용한 이산 코사인 역변환 시스템.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950049316A KR100212268B1 (ko) | 1995-12-13 | 1995-12-13 | 리의 알고리즘을 이용한 이산 코사인 역변환 시스템 |
US08/763,611 US5841682A (en) | 1995-12-13 | 1996-12-11 | Inverse discrete cosine transformation system using Lee's algorithm |
JP33367896A JP3856883B2 (ja) | 1995-12-13 | 1996-12-13 | リーのアルゴリズムを用いた逆離散コサイン変換システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950049316A KR100212268B1 (ko) | 1995-12-13 | 1995-12-13 | 리의 알고리즘을 이용한 이산 코사인 역변환 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970057944A KR970057944A (ko) | 1997-07-31 |
KR100212268B1 true KR100212268B1 (ko) | 1999-08-02 |
Family
ID=19439648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950049316A KR100212268B1 (ko) | 1995-12-13 | 1995-12-13 | 리의 알고리즘을 이용한 이산 코사인 역변환 시스템 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5841682A (ko) |
JP (1) | JP3856883B2 (ko) |
KR (1) | KR100212268B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6876704B2 (en) * | 2001-05-16 | 2005-04-05 | Qualcomm, Incorporated | Apparatus and method for encoding and computing a discrete cosine transform using a butterfly processor |
TWI227840B (en) * | 2003-12-03 | 2005-02-11 | Via Tech Inc | Method and apparatus for multiplying based on Booth's algorithm |
DE102016206331A1 (de) * | 2016-04-14 | 2017-10-19 | BSH Hausgeräte GmbH | Haushalts-Gargerät mit Garsensor |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2725544B2 (ja) * | 1992-11-12 | 1998-03-11 | 日本電気株式会社 | Dct及び逆dct演算装置並びにその演算方法 |
US5345408A (en) * | 1993-04-19 | 1994-09-06 | Gi Corporation | Inverse discrete cosine transform processor |
US5508949A (en) * | 1993-12-29 | 1996-04-16 | Hewlett-Packard Company | Fast subband filtering in digital signal coding |
-
1995
- 1995-12-13 KR KR1019950049316A patent/KR100212268B1/ko not_active IP Right Cessation
-
1996
- 1996-12-11 US US08/763,611 patent/US5841682A/en not_active Expired - Fee Related
- 1996-12-13 JP JP33367896A patent/JP3856883B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5841682A (en) | 1998-11-24 |
JPH09179852A (ja) | 1997-07-11 |
JP3856883B2 (ja) | 2006-12-13 |
KR970057944A (ko) | 1997-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0353223B1 (en) | Two-dimensional discrete cosine transform processor | |
Yu et al. | DCT implementation with distributed arithmetic | |
US4837724A (en) | Discrete cosine transform arrangement | |
EP0275979B1 (en) | Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples | |
Chan et al. | On the realization of discrete cosine transform using the distributed arithmetic | |
US5649077A (en) | Modularized architecture for rendering scaled discrete cosine transform coefficients and inverse thereof for rapid implementation | |
KR0130772B1 (ko) | 고속디지탈신호처리프로세서 | |
US20050125469A1 (en) | Method and system for discrete cosine transforms/inverse discrete cosine transforms based on pipeline architecture | |
US6052703A (en) | Method and apparatus for determining discrete cosine transforms using matrix multiplication and modified booth encoding | |
US5831881A (en) | Method and circuit for forward/inverse discrete cosine transform (DCT/IDCT) | |
JPH06103301A (ja) | 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路 | |
Hartenstein et al. | Reconfigurable machine for applications in image and video compression | |
KR100212268B1 (ko) | 리의 알고리즘을 이용한 이산 코사인 역변환 시스템 | |
US6003058A (en) | Apparatus and methods for performing arithimetic operations on vectors and/or matrices | |
US5434808A (en) | Highly parallel discrete cosine transform engine | |
KR100227271B1 (ko) | 역이산 여현변환방법 | |
JPH03100771A (ja) | アレイ処理方法 | |
Do et al. | A high-accuracy and high-speed 2-D 8x8 discrete cosine transform design | |
US5999958A (en) | Device for computing discrete cosine transform and inverse discrete cosine transform | |
Jutand et al. | A 13.5 MHz single chip multiformat discrete cosine transform | |
Hsiao et al. | Parallel, pipelined and folded architectures for computation of 1-D and 2-D DCT in image and video codec | |
Masram et al. | Design and Implementation of 111 MHz frequency compression efficient CORDIC based 2D-DCT using FPGA and its power performance | |
JPH0646269A (ja) | 静止画像データの伸長方法、圧縮方法及びそのための対応装置 | |
KR100202567B1 (ko) | 고속 역이산 코사인변환 연산장치 | |
KR100365729B1 (ko) | 이산 코사인 변환 및 역이산 코사인 변환 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100429 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |