KR0130441B1 - 2차원 이산 코사인 변환기 - Google Patents
2차원 이산 코사인 변환기 Download PDFInfo
- Publication number
- KR0130441B1 KR0130441B1 KR1019940003724A KR19940003724A KR0130441B1 KR 0130441 B1 KR0130441 B1 KR 0130441B1 KR 1019940003724 A KR1019940003724 A KR 1019940003724A KR 19940003724 A KR19940003724 A KR 19940003724A KR 0130441 B1 KR0130441 B1 KR 0130441B1
- Authority
- KR
- South Korea
- Prior art keywords
- discrete cosine
- dimensional discrete
- output
- dimensional
- latches
- Prior art date
Links
Classifications
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 2차원 이산 코사인 변환을 빨리 하기에 적합한 2차원 이산 코사인 변환기에 관한 것으로서, 종래의 기술에 있어서는 2차원 이산 코사인 변환을 보면, 분산 산술 처리를 이용하는 다이렉트 방식과 패스트 알고리즘이 사용되었는데 설계가 복잡하고 동작 속도가 느리는 등의 여러가지 비효율적인 문제점들이 대두되었으나, 본 발명에서는 2차원 이산 코사인 변환시, 입력되는 픽셀 데이터를 제1, 제2입력 데이터로 병렬로 인가받아 각각 1차원 이산 코사인 변환하고 이 후, 전치 및 또 한 번의 1차원 이산 코사인 변환을 각각 실시함으로써 결국, 입력되는 픽셀 데이터를 짧은 시간에 2차원 이산 코사인 변환할 수 있으므로 상술한 결점을 개선시킬 수 있는 것이다.
Description
제1도는 종래의 기술에 따른 2차원 이산 코사인 변환기의 일 실시예를 나타낸 블록도.
제2도는 본 발명에 따른 2차원 이산 코사인 변환기의 일 실시예를 나타낸 블록도.
제3도는 제2도에 따른 1차원 이산 코사인 변환기의 일 실시예를 나타낸 회로도.
* 도면의 주요부분에 대한 부호의 설명
11,13 : 이산 코사인 변환기 12 : 전치부
14 : 2차원 이산 코사인 변환기 15 : 정렬부
21,22 : 제1, 제2쉬프트부 23,24 : 제1, 제2래치부
25-28,39-41,47-49 : 가산기 29 : 가산부
30-33 : 감산기 34 : 감산부
35,38,43-46 : 승산기 42 : 제1출력부
50 : 제2 출력부 RO-R7 : 레지스터
LO-L7 : 래치 MO-M7 : 메모리
본 발명은 데이터를 압축하는데 필요한 2차원 이산 코사인 변환(discrete cosine transform ; DCT)에 관한 것으로 특히, 2차원 이산 코사인 변환을 빨리 하기에 적합한 2차원 이산 코사인 변환기에 관한 것이다. 일반적으로, 이산 코사인 변환이란 데이터를 압축하기 위해 코사인 함수를 이용한 직교 변환의 하나로써 상관성이 높은 영상 신호나 음성 신호에 대해 좋은 성능을 나타내며, 그 성능은 에너지 압축 효과가 최적인 카루넨-로에브 변환의 성능에 근접한다고 알려져 있다. 이와 관련하여, 제1도는 종래의 기술에 따른 2차원 이산 코사인 변환기의 일 실시예를 나타낸 블록도로, 픽셀(pixel)신호가 일시적으로 저장되어 있는 버퍼(buffer)로부터 데이터를 입력으로 인가받아 1차원 이산 코사인 변환, 전치 그리고 1차원 이산 코사인 변환을 차례로 실시하여 최초 입력에 대해 2차원 이산 코사인 변환하는 2차원 이산 코사인 변환기(4)와, 2차원 이산 코사인 변환기(4)의 출력을 인가받아 데이터를 정렬하여 출력하는 정렬부(5)로 구성된다.
이 때, 상기 2차원 이산 코사인 변환기(4)는 입력 신호를 인가받아 1차원 이산 코사인 변환하는 이산 코사인 변환기(1)와, 이산 코사인 변환기(1)의 출력을 인가받아 전치하는 전치부(2)와, 전치부(2)의 출력을 인가받아 1차원 이산 코사인 변환하여 최초 입력에 대해 2차원 이산 코사인 변환하는 이산 코사인 변환기(3)로 이루어진다. 이와같이 이루어지는 종래의 기술을 보면 먼저, 분산 산술 처리를 이용하는 다이렉트 방식(direct method)과 패스트 알고리즘(fast algorithm)을 이용하는 1차원 이산 코사인 변환을 식으로 나타내면 다음과 같다.
여기서, Y는 8×1 1차원 이산 코사인 변환의 매트릭스(matrix)이고, c는 8×8 이산 코사인 변환의 계수 매트릭스이며, x는 8×1 입력 데이터 매트릭스이다. 즉, 2차원 이산 코사인 변환기(4)의 이산 코사인 변환기(1)는 입력 데이터를 1차원 이산 코사인 변환하여, 전치부(2)는 입력을 전치하여 출력하기 위해 이산 코사인 변화기(1)의 출력을 램(random access memory;RAM)등에 가로 방향으로 저장했다가 세로 방향으로 읽어 출력한다. 이어, 이산 코사인 변환기(3)는 전치부(2)의 전치된 출력을 인가받아 1차원 이산 코사인 변환하므로써 결국, 입력에 대해 2차원 이산 코사인 변환된 데이터를 출력하고 정렬부(5)는 이산 코사인 변환기(3)의 출력을 순서대로 정렬하여 출력한다. 그러나, 이와 같은 종래의 기술에 있어서는 2차원 이산 코사인 변환을 보면, 분산 산술 처리를 이용하는 다이렉트 방식과 패스트 알고리즘이 사용되었으나, 설계가 복잡하고 동작 속도가 느리는 등의 여러가지 비효율적인 문제점들이 대두되었다.
본 발명은 이와 같은 종래의 결점을 해결하기 위하여 안출한 것으로, 화상압축의 중요한 요소인 2차원 이산 코사인 변환을 더욱 빠르게 구현하도록 하기에 적합한 2차원 이산 코사인 변환기를 제공하는데 그 목적이 있다. 이와 같은 목적을 달성하기 위한 본 발명은 픽셀 데이터를 병렬로 인가받아 각각 2차원 이산 코사인 변환하는 2차원 이산 코사인 변환기와 2차원 이산 코사인 변환기의 각 출력 데이터를 정렬하여 출력하는 정렬부로 이루어지는 것을 특징으로 한다.
이하, 이와같은 본 발명의 실시예를 첨부된 도면에 의하여 상세히 설명하면 다음과 같다. 제2도를 참조하면, 제2도는 본 발명에 따른 2차원 이산 코사인 변환기의 일 실시예를 나타낸 블록도로, 픽셀 데이터가 병렬로 인가되는 제1, 제2입력 데이터를 각각 2차원 이산 코사인 변환하는 2차원 이산 코사인 변환기(14)와, 상기 2차원 이산 코사인 변환기(14)의 2개의 출력 데이터를 정렬하여 출력하는 정렬부(15)로 이루어진다. 이 때, 상기 2차원 이산 코사인 변환기(14)는 상기 픽셀 데이터가 병렬로 인가되는 제1, 제2입력 데이터를 각각 1차원 이산 코사인 변환하는 이산 코사인 변환기(11)와, 상기 이산 코사인 변환기(11)의 각 출력을 각각 전치하여 각각 출력하는 전치부(12)와, 상기 전치부(12)의 각 출력을 이산 코사인 변환함으로써 최초 제1, 제2입력 데이터에 대하여 각각 2차원 이산 코사인 변환하여 각각 출력하는 이산 코사인 변환기(13)로 이루어진다. 이 때, 상기 이산 코사인 변환기(11,13)는 동일한 회로로 구성되어 이루어진다. 제3도를 참조하면, 제3도는 제2도에 따른 1차원 코사인 변환기의 일 실시예를 나타낸 회로도로, 상기 제2도의 이산 코사인 변환기(11,13)는 각각 픽셀 데이터가 병렬로 인가되는 제1, 제2입력 신호를 각각 쉬프트(shift)시키는 제1, 제2쉬프트부(21,22)와, 상기 제1, 제2쉬프트부(21,22)의 각 쉬프트에 따른 신호를 각각 래치(latch)하는 제1, 제2래치부(23,24)와 상기 제1, 제2래치부(23,24)의 각 래치에 따른 신호를 2개씩 각각 가산하는 가산부(29)와, 상기 제1, 제2래치부(23,24)의 각 래치에 따른 신호를 2개씩 각각 감산하는 감산부(34)와 상기 가산부(29)의 각 출력에 각 이산 코사인 변환 계수를 각각 승산시키고 그 승산 결과를 두개씩 가산하는 과정을 되풀이하여 최종 제1출력하는 제1출력부(42)와 상기 감산부(34)의 각 출력에 각 이산 코사인 변환 계수를 각각 승산시키고 그 승산 결과를 두개씩 가산하는 과정을 되풀이하여 최종 제2 출력하는 제2 출력부(50)로 이루어진다.
이 때, 상기 제1, 제2쉬프트부(21,22)는 각각 다수의 레지스터(register)(RO-R3,R4-R7)가 직렬로 접속되어 이루어지고 상기 제1, 제2래치부(23,24)는 각각 다수의 래치(L0-L3,L4-L7)가 병렬로 접속되어 이루어지며, 상기 가산부(29)는 다수의 가산기(25-28)가 병렬로 접속되어 이루어지고 상기 감산부(34)는 다수의 감산기(30-33)가 병렬로 접속되어 이루어지며, 상기 제1, 제2 출력부(42,50)는 각각 다수의 메모리(M0-M3,M4-M7)및 다수의 승산기(35-38,43-46) 그리고 다수의 가산기 (39-41,47-49)로 이루어진다. 이와 같이 이루어지는 본 발명을 보면 먼저, 8픽셀에 대한 1차원 이산 코사인 변환을 식과 매트릭스로 다음과 같다.
여기서, Y는 8×1 1차원 이산 코사인 변환의 매트릭스(matrix)이고, c는 8×8 이산 코사인 변환의 계수 매트릭스이며, x는 8×1 입력 데이터 매트릭스이다. 여기서, 제1, 제2입력 데이터 전단에 형성된 버퍼의 출력에 의해 제1입력 데이터를 X0,X1,X2, X3으로 하고 제2 입력 데이터를 X4,X5,X6,X7로 하며, 제1 출력 데이터를 Yo,Y2,Y4, Y6으로 하고 제2출력 데이터를 Y1,Y3,Y5,Y7로 할 경우, 상기의 1차원 이산 코사인 변환에 따른 매트릭스를 다음과 같이 나타낼 수 있다.
즉, 외부에서 인가되는 4클록 후에 버퍼로부터 출력되는 픽셀 데이터는 2차원 이산 코사인 변환기(14)의 이산 코사인 변환기(11)의 제1쉬프트부(21)에 제1입력으로 X0, X1,X2,X3 데이터가 인가되어 각 레지스터(R0-R3)에 의해 쉬프트됨으로써 제1래치부(23)의 각 래치(LO-L3)에 X0,X1,X2,X3 데이터가 각가 하나씩 홀드(hold)된다.
다음, 제2쉬프트부(22)에 제2입력으로 X4,X5,X6,X7 데이터가 인가되어 각레지스터(R4-R7)에 의해 쉬프트됨으로써 제2래치부(24)의 각 래치(L4-L7)에 X4,X5, X6,X7 데이터가 각각 하나씩 홀드되는등 제1, 제2쉬프트부(21,22)는 상기와 같은 쉬프트 동작을 매 클록마다 반복하며, 각 래치(L0-L7)는 4클록을 주기로 각각 인에이블(enable)되어 데이터를 각각 출력한다.
이 때, 각 래치(L0-L7)는 인에이블 때마다 동일한 데이터를 각각 유지하는데 이것은 이 후, 이산 코사인 변환 계수와의 승산을 위한 것이다. 이어, 가산부(29)의 각 가산기(25-28)는 래치(L0-L3)의 신호와 래치(L7-L4)의 신호를 각각 가산하고 감산부(34)의 각 감산기(30-33)는 각 래치(L3-L0)의 신호와 각 래치(L4-L7)의 신호를 각각 감산하여 출력한다. 그리고, 제1출력부(42)의 각 승산기(35-38)는 각 가산기(25-28)의 각 출력과 각 메모리(M0-M3)의 각 이산 코사인 변환 계수를 각각 승산하며, 각 가산기(39,40)는 승산기(35,36)의 신호와 승산기(37,38)의 신호를 각각 가산하고 가산기(41)는 가산기(39,40)의 신호를 가산하여 제1입력 데이터가 1차원 이산 코사인 변환된 Y0,Y2,Y4,Y6 데이터를 최종적으로 제1출력한다. 또한 제2 출력부(50)의 각 승산기(43-46)는 각 감산기(30-33)의 각 출력과 각 메모리(M4-M7)의 각 이산 코사인 변환 계수를 각각 승산하며, 각 가산기(47,48)는 승산기(43,44)의 신호와 승산기(45,46)의 신호를 각각 가산하고 가산기(49)는 가산기(47,48)의 신호를 가산하여 제2입력 데이터가 1차원 이산 코사인 변환된 Y1,Y3,Y5,Y7 데이터를 최종적으로 제2 출력한다.
다음, 전치부(12)는 이산 코사인 변환기(11)의 제1, 제2 출력 데이터를 각각 인가받아 램 등의 메모리를 이용하여 가로 방향으로 저장했다가 세로 방향으로 읽어 즉, 이산 코사인 변환기(11)의 출력 데이터를 전치하여 이산 코사인 변환기(13)에 인가한다. 이어, 이산 코사인 변환기(13)는 전치부(12)의 출력을 인가받아 상기 이산 코사인 변환기(11)와 같이 1차 이산 코사인 변환하여 최종적으로 제1, 제2입력 픽셀 데이터에 대해 2차원 이산 코사인 변환된 데이터를 각각 출력하며, 정렬부(15)는 이산 코사인 변환기(13)의 각 출력을 정렬하여 직렬 데이터 형식으로 Y0 내지 Y7 데이터를 차례로 출력한다.
이상에서 설명한 바와 같이 본 발명은 2차원 이산 코사인 변환시, 입력되는 픽셀 데이터를 제1, 제2입력 데이터로 병렬로 인가받아 각각 1차원 이산 코사인 변환하고 이 후, 전치 및 또 한 번의 1차원 이산 코사인 변환을 각각 실시함으로써 결국, 입력되는 픽셀 데이터를 짧은 시간에 2차원 이산 코사인 변환할 수 있는 효과가 있는 것이다.
Claims (9)
- 다수의 픽셀 데이터를 제1, 제2입력으로 병렬로 각가 인가받아 각가 2차원 이산 코사인 변환해서 각각 출력하는 2차원 이산 코사인 변환기(14); 상기 2차원 이산 코사인 변환기(14)의 각 출력 데이터를 정렬하여 직렬 데이터 형식으로 출력하는 정렬부(15)를 포함하는 2차원 이산 코사인 변환기.
- 제1항에 있어서, 상기 2차원 이산 코사인 변환기(14)는, 상기 병렬로 각각 인가되는 다수의 픽셀 데이터 제1, 제2입력을 각각 1차원 이산 코사인 변환해서 각각 출력하는 이산 코사인 변환기(11) ; 상기 이산 코사인 변환기(11)의 각 출력을 각각 전치하여 각각 출력하는 전치부(12) ; 상기 전치부(12)의 각 출력을 1차원 이산 코사인 변환하여 최초 다수의 픽셀 데이터 입력에 대하여 각각 2차원 이산 코사인 변환하여 각각 출력하는 이산 코사인 변환기(13)를 포함하는 2차원 이산 코사인 변환기.
- 제2항에 있어서, 상기 이산 코사인 변환기(11)는, 상기 병렬로 인가되는 다수의 픽셀 데이터 제1, 제2입력 신호를 각각 쉬프트 시키는 제1, 제2쉬프트부(21,22) ; 상기 제1, 제2쉬프트부(21,22)의 각 쉬프트에 따른 신호를 각각 래치하는 제1, 제2래치부(23,24) ; 상기 제1, 제2래치부(23,24)의 각 래치에 따른 신호를 2개씩 각각 가산하는 가산부(29) ; 상기 제1, 제2래치부(23,24)의 각 래치에 따른 신호를 2개씩 각각 감산하는 감산부(34) ; 상기 가산부(29)의 각 출력에 각 이산 코사인 변환 계수를 승산시키고 그 승산 결과를 두개씩 가산하는 과정을 되풀이하여 상기 제1입력에 대해 1차원 이산 코사인 변환된 신호를 출력하는 제1출력부(42) ; 상기 감산부(34)의 각 출력에 각 이산 코사인 변환 계수를 승산시키고 그 승산 결과를 두개씩 가산하는 과정을 되풀이하여 상기 제2입력에 대해 1차원 이산 코사인 변환된 신호를 출력하는 제2 출력부(50)를 포함하는 2차원 이산 코사인 변환기.
- 제3항에 있어서, 상기 제1, 제2쉬프트부(21,22)는 각각 다수의 레지스터(R0 내지 R3)(R4 내지 R7)가 직렬로 접속되어 상기 제1, 제2입력을 각각 쉬프트시킴을 특징으로 하는 2차원 이산 코사인 변환기.
- 제3항에 있어서, 상기 제1, 제2래치부(23,24)는 각각 다수의 래치(L0 내지 L3)(L4 내지 L7)가 병렬로 접속되어 상기 제1, 제2쉬프트부(21,22)의 각 쉬프트에 따른 신호를 각각 래치함을 특징으로 하는 2차원 이산 코사인 변환기.
- 제3항에 있어서, 상기 가산부(29)는 다수의 가산기(25 내지 28)가 병렬로 접속되어 상기 제1, 제2래치부(23,24)의 각 래치에 따른 신호를 2개씩 각각 가산함을 특징으로 하는 2차원 이산 코사인 변환기.
- 제3항에 있어서,상기 감산부(34)는 다수의 감산기(30 내지 33)가 병렬로 접속되어 상기 제1, 제2래치부(23,24)의 각 래치에 따른 신호를 2개씩 각각 감산함을 특징으로 하는 2차원 이산 코사인 변환기.
- 제3항에 있어서, 상기 제1, 제2 출력부(42,50)는 상기 각 이산 코사인 변환 계수를 각각 저장하는 다수의 메모리(M0 내지 M3)(M4 내지 M7)를 각각 구비함을 특징으로 하는 2차원 이산 코사인 변환기.
- 제2항 또는 제3항에 있어서, 상기 이산 코사인 변환기(13)는 상기 이산 코사인 변환기(11)와 동일한 구성을 갖음을 특징으로하는 2차원 이산 코사인 변환기.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940003724A KR0130441B1 (ko) | 1994-02-28 | 1994-02-28 | 2차원 이산 코사인 변환기 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940003724A KR0130441B1 (ko) | 1994-02-28 | 1994-02-28 | 2차원 이산 코사인 변환기 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950025566A KR950025566A (ko) | 1995-09-18 |
KR0130441B1 true KR0130441B1 (ko) | 1998-04-15 |
Family
ID=19377982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940003724A KR0130441B1 (ko) | 1994-02-28 | 1994-02-28 | 2차원 이산 코사인 변환기 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0130441B1 (ko) |
-
1994
- 1994-02-28 KR KR1019940003724A patent/KR0130441B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR950025566A (ko) | 1995-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0353223B1 (en) | Two-dimensional discrete cosine transform processor | |
JP2646778B2 (ja) | ディジタル信号処理装置 | |
KR0130772B1 (ko) | 고속디지탈신호처리프로세서 | |
EP0506111A2 (en) | DCT/IDCT processor and data processing method | |
KR100311251B1 (ko) | 2차원이산코사인변환장치,2차원역이산코사인변환장치및디지탈신호처리장치 | |
CA2644505A1 (en) | Transform design with scaled and non-scaled interfaces | |
US6052703A (en) | Method and apparatus for determining discrete cosine transforms using matrix multiplication and modified booth encoding | |
JP6357345B2 (ja) | ビデオデータ処理時に空間領域と周波数領域との間の変換を実行するためのデータ処理装置および方法 | |
US7216140B1 (en) | Efficient implementation of n-point DCT, n-point IDCT, SA-DCT and SA-IDCT algorithms | |
US5477469A (en) | Operation device and operation method for discrete cosine transform and inverse discrete cosine transform | |
KR0130441B1 (ko) | 2차원 이산 코사인 변환기 | |
US5719963A (en) | Two-dimensional discrete cosine transform computing circuit | |
KR0130440B1 (ko) | 2차원 역 이산 코사인 변환기 | |
JPH04277932A (ja) | 画像データ圧縮装置 | |
JP3652380B2 (ja) | 離散コサイン変換装置及び逆離散コサイン変換装置 | |
KR0154919B1 (ko) | 2차원 역이산 코사인 변환 회로 | |
JP3652717B2 (ja) | 離散コサイン高速演算器 | |
KR0152802B1 (ko) | 영상 압축장치의 역이산 코사인 변환방법 및 장치 | |
KR0124169B1 (ko) | 2차원 이산 코사인 변환기 | |
KR0130442B1 (ko) | 1차원 정방향/역방향 이산 코사인 변환기 | |
KR970057944A (ko) | 리의 알고리즘을 이용한 이산 코사인 역변환 시스템 | |
NL1000763C2 (nl) | Apparaat voor tweedimensionale inverse discrete cosinustransformatie. | |
JPH05153402A (ja) | 離散コサイン変換器 | |
JP3397838B2 (ja) | 画像処理装置及び離散コサイン変換方法 | |
JP2004171263A (ja) | 演算装置 |
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: 20001027 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |