KR100202567B1 - 고속 역이산 코사인변환 연산장치 - Google Patents

고속 역이산 코사인변환 연산장치 Download PDF

Info

Publication number
KR100202567B1
KR100202567B1 KR1019960010775A KR19960010775A KR100202567B1 KR 100202567 B1 KR100202567 B1 KR 100202567B1 KR 1019960010775 A KR1019960010775 A KR 1019960010775A KR 19960010775 A KR19960010775 A KR 19960010775A KR 100202567 B1 KR100202567 B1 KR 100202567B1
Authority
KR
South Korea
Prior art keywords
output
compressor
discrete cosine
inverse discrete
matrix
Prior art date
Application number
KR1019960010775A
Other languages
English (en)
Other versions
KR970073164A (ko
Inventor
최준림
Original Assignee
구자홍
엘지전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구자홍, 엘지전자주식회사 filed Critical 구자홍
Priority to KR1019960010775A priority Critical patent/KR100202567B1/ko
Publication of KR970073164A publication Critical patent/KR970073164A/ko
Application granted granted Critical
Publication of KR100202567B1 publication Critical patent/KR100202567B1/ko

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/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5306Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
    • G06F7/5312Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products using carry save adders
    • 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/423Methods 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 characterised by memory arrangements
    • 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/436Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Multimedia (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Discrete Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 고속 역이산 코사인변환 연산장치는, 역이산 코사인 변환 연산식(식(1))의 우수 및 기수매트릭스 계수를 각각 우수와 기수별로 코딩계수가 2k이 되도록 멀티코딩한 후 상기 코딩계수와 상기 역이산 코사인 변환식이 입력신호[X(u,v)]와의 부분곱을 기수와 우수별로 각각 병렬처리하기 위한 입력측 1차원 역이산 코사인 변환 연산장치와, 상기 입력측 1차원 역이산 코사인 변환연산장치의 연산결과를 치환,저장하기 위한 치환메모리과, 상기 치환메모리에 저장된 데이타를 열과 행을 바꾸어 읽어들인 후 다시 상기 입력측 역이산 코사인 변환장치에서와 동일하게 연산하여 최종 2차원 역이산 코사인 변환된 데이타를 출력하는 출력측 1차원 역이산 코사인 변환연산장치를 포함하여 구성되며, 매트릭스 계수를 멀티 비트 코딩하고, 입력신호에 대한 부분곱을 병렬로 더하여 처리함으로써 연산효율을 극대화할 수 있으며, 또한 용이하게 ASIC화 할 수 있는 효과가 있다.

Description

고속 역이산 코사인변환 연산장치
제1도는 역 이산 코사인 변환(IDCT) 장치의 기본 구성을 도시한 것이고,
제2도는 종래의 기술 중 분산산술 방식에 의한 1차 역 이산 코사인 변환(1-D DCT)처리 유니트의 실시예를 도시한 것이며,
제3도는 종래의 기술에 의한 역 이산 코사인 변환장치의 곱셈/누산기의 실시예를 도시한 것이며,
제4도는 종래의 기술에 의한 2차 역 이산 코사인 변환장치(IDCT)의 연산 처리과정을 도시한 것이며,
제5도는 본 발명에 의한 고속 역이산 코사인변환 연산장치의 고속 연산 처리를 위한 매트릭스 계수의 멀티 비트 코딩 실시예를 도시한 것이며,
제6도는 본 발명에 의한 고속 역이산 코사인변환 연산장치의 고속 연산 처리를 위한 매트릭스 계수의 멀티 비트 코딩시 사인 비트 처리과정을 도시한 것이며,
제7도는 본 발명에 의한 고속 역이산 코사인변환 연산장치의 우수 매트릭스 연산처리과정을 도시한 것이며,
제8도는 본 발명에 의한 고속 역이산 코사인변환 연산장치의 기수 매트릭스 연산처리과정을 도시한 것이며,
제9도는 본 발명에 의한 400메가 샘플링을 위한 역 이산 코사인 변환장치의 실시예를 도시한 것이며,
제10도는 제9도 역 이산 코사인 변환장치의 1차 역 이산 코사인 변환부의 실시예를 도시한 것이며,
제11도는 제9도 역 이산 코사인 변환장치의 5:2 압축기의 실시예를 도시한 것이며,
제12도는 본 발명에 의한 역 이산 코사인 변환장치의 1차 역 이산 코사인 변환부의 다른 실시예를 도시한 것이다.
* 도면의 주요부분에 대한 부호의 설명
42,52 : 우수 매트릭스 연산처리기 43,53 : 기수매트릭스 연산처리기
44,54 : 가감산기 45 : 치환 메모리
본 발명은 동영상 처리장치에 관한 것으로, 특히 역 이산 코사인 변환연산장치(IDCT: Inverse Discrete Cosin Transition)의 연산효율을 극대화시켜 ASIC화 및 초 고속연산을 가능하게 하기 위한 고속 역이산 코사인 변환연산장치에 관한 것이다.
역 이산 코사인 변환 연산장치(이하 IDCT 장치라 함)는, 압축된 동영상 신호를 처리하기 위한 MPEG(Moving Picture Experts Group)의 코아 프로세서(core processor)로 널리 사용되고, 또한 고화질의 영상신호 처리를 위한 HDTV등에 적용되어 압축된 동영상 신호를 복원하는데도 사용된다.
IDCT 장치는 기본적으로, 제1도에 도시한 바와 같이 입력된 데이타를 1차원(1-D)의 IDCT 연산처리하기 위한 제1 IDCT(1)와, 상기 제1 IDCT 연산처리된 데이타를 저장, 치환(transpose)하기 위한 치환 메모리(5)와, 상기 치환 메모리(5)에 저장된 데이타를 다시 IDCT 연산처리하기 위한 제2 IDCT(4) 및 제1,2 시프트/라운드(shift/round)로 구성됨을 알 수 있다.
원래 IDCT의 기능은 2차원 영상데이타의 압축된 신호를 복원하는 것으로, 압축된 2차원 데이타를 X(u,v), 복원될 데이타를 x(i,j)라고 하면 상기 복원될 데이타 x(i,j)는 다음과 같이 정의할 수 있다.
여기서 상기 x(i,j)식은 1974년 1월에 IEEE Trans, Comput(pp. 9093)에 발표된 Discrete cosine transform(N. Ahmed, T. Nataraian and K. R. Rao)을 참조한 것이며, 이를 하드웨어(hardware)로 구현하기 위해 풀어쓰면 1차원 IDCT 연산은 다음과 같이 표시된다.
즉, 입력 데이타는 1차원의 IDCT를 연속통과함으로써 2차원(2-D) IDCT 연산처리가 완료되며, 종래에는 제2도에 도시한 바와 같이 상기 매트릭스 연산을 미리 수행하여 우수(EVEN) 데이타 {X0, X2, X4, X6}와, 기수(ODD) 데이타 {X1, X3, X5, X7}의 조합에 따른 연산결과인 부분곱을 각각 분산 산술 곱셈 누산기(DAMA:Distributed Arithmethic Multiplier Accumulator)(21,24)의 롬에 저장하고, 이를 읽어들여 연산하는 분산산술(DA:Distributed Arithmethic) 방식을 사용하였다.
상기 롬에서 읽은 데이타를 더하기 위해서는 제3도에 도시한 바와 같이, DCT 및 IDCT 하위비트값을 저장하기 하위비트롬(22,23) 뱅크(21)의 값은 2로 나누어 상위비트값을 저장하기 위한 상위비트롬(25,26) 뱅크(24)의 값과 제1가산기(28)에서 더해지며, 이 값은 누산기(29)의 레지스터(32)를 통해 추력되는데, 이때 상기 레지스터(32)의 출력은 시프터(31) 통해 피드백되어 제2가산기(30)에서 제1가산기(28)의 출력과 더해져 상기 레지스터(32)로 입력되도록 되어있다.
제4도는 제3도와 함께 1992년 4월 IEEE J. Solid-State Circuits(pp. 492498)에 발표된 A 100-2-D Discrete Cosine Transform Core Processor(Shin-ichi Uramoto, Yoshitsugu Inoue, Akihiko Takabatake, Jun Dakeda, Yukihiro Yamashita, Hideyuki Terane, and Masahiko Yoshimoto)를 참조한 것으로, 이차원(2-D) 변환을 위한 연산과정을 살펴보면, 압축된 2차원신호 X(u,v)는 먼저 X'(u,v)로 1차원변환된 후 우측하단과 같이 치환되고, 다시 1차원변환되어 x(u,v)의 신호로 복원된다.
그러나 이러한 종래의 분산산술 방식에 의한 IDCT 연산장치는, 매트릭스 곱셈처리를 위해 일반적으로 사용하는 곱셈기를 사용하는 경우 n비트의 곱셈시 (n/2 +1)개의 부분곱을 더해야 하므로 1개의 픽셀을 계산하려면 64[=(14/2 +1)8]개의 부분곱을 더해야 하며, 이를 수행하기 위해서는 많은 연산시간이 소모되고, 하드웨어가 낭비되어 소형화가 어려운 문제점이 있다.
따라서, 본 발명의 목적은 상기와 같은 문제점을 해결하기 위하여, 매트릭스 계수를 멀티 비트 코딩하고, 입력 데이타의 부분연산은 병렬로 더하여 처리함으로써 연산시간 및 회로면적을 최소화할 수 있는 고속 역이산 코사인변환 연산장치를 제공하는 것이다.
이하 첨부도면을 참조하여 본 발명을 좀더 상세하게 설명하고자 한다.
본 발명의 고속 역이산 코사인변환 연산장치는, 기존의 IDCT의 1차원 연산처리부를 분산산술 방식에서 멀티 비트 코딩을 이용한 병렬가산방식으로 대치하여 그 연산처리속도를 향상시킨 것이다.
즉, 상기 매트릭스곱셈기가 상수이므로 상기 계수를 제5도에 도시한 바와 같이 각각의 계수(A,,G)에 212을 곱한 14비트 인티저(integer)를 멀티비트 코딩하고, 상기 코딩한 값이 2k(K=0,1,2,3,)이 되도록 한다.
이에 따라, A는 5개이 코딩값(A12, A10, A8, A6, A0)이 생성되고, B와 C, D, F, G의 경우는 각각 4개의 코딩값이 생성되며, E의 경우는 6개의 코딩값이 생성되므로, 이 코딩값 갯수만큼의 부분곱이 생성되며 코딩값에 따라 입력을 시프트하여 더하면 연산을 수행할 수 있다.
이때 상기 우수매트릭스는 {A,B,A,C}{X0, X2, X4, X6} 연산을 수행하고, 기수매트릭스 {D,E,F,G}{X1, X3, X5, X7} 연산을 수행하므로 1개의 픽셀을 계산하려면 우수매트릭스는 1+(5+4+5+4) = 19개의 부분곱을 더해야 하고, 기수매트릭스는 1+(4+6+4+4) = 19개의 부분곱을 더해야 하므로 결과적으로 총 38개의 부분곱만 더하면 되므로 연산시간과 이를 구현하기 위한 회로면적을 줄일 수 있다.
여기서 부호 비트(sign bit)의 처리는 각 매트릭스에서 곱하는 상수의 그룹(group)이 {A, B, A, C}, {D, E, F, G}로 동일하므로 제6도에 도시한 바와 같이 우수, 기수에 대해 일괄적으로 부호 비트를 처리할 수 있다.
상기 부호 비트 계산방법을 일반화시키면, 피승수 X의 부호를 Sx라 하고, 비트수를 m이라 하며, 상수인 승수 Y의 코딩에 따른 부호비트를 SMnk라고 하며, M값을 2q라 가정하면 부호확장은 다음과 같이 표시된다.
이를 포함해서 기수와 우수매트릭스에 대한 하드웨어를 구현하기 위한 것이 제7도 및 제8도로서, 각 부분곱은 정해진 길에 따라 입력된 우수 데이타{X0, X2, X4, X6}와 기수 데이타 {X1, X3, X5, X7}의 연산이 수행되며, 부호비트는 이와 더해진 후 합(SUM)과 올림(carry)로서 출력을 내게 된다.
즉, 제7도의 우수매트릭스의 부분곱 ①(A0 X0X0X0X0)과 부분곱 ③(A0 X4X4X4X4)은 코딩계수 A0가 +16(=24)이므로, 좌측으로 4비트 시프트하고, 부분곱 ②(B0 X2X6X6X2)는 코딩계수 B0가 +8(=23)이므로 좌측으로 3비트 시프트하며, 부분곱 ④(X6X2X2X6)은 코딩계수 C0가 -1(=20)이므로 시프트 시키지 않는다.
다른 모든 코딩계수와 입력신호와의 부분곱들도 상기와 동일한 방법으로 각 행(row)에 따라 매트릭스 계수의 순서에 의해 처리하여, 모두 19개의 부분곱을 처리하는데, 이때 마지막 부분곱은 확장부호비트로서 상기 코딩계수에 따라 쉬프트된 결과와 함께 더하면 되며, 기수매트릭스의 부분곱도 동일한 방법으로 처리한다.
이때 각 19개의 부분곱은, 제9도에 도시한바와 같이, 입력측 1차 역이산 코사인변환연산장치를 통해 압축을 수행한 후 기수매트릭스와 우수매트릭스의 압축연산결과를 더하거나 빼서 치환메모리(45)에 저장되며, 다시 출력측 1차 역이산 코사인변환연산장치를 통해 압축한 후 기수매트릭스와 우수매트릭스의 압축연산결과를 가감하여 8개의 샘플링데이타로 출력된다.
상기 입력측 1차 코사인 변환장치는, 상세하게는 제9도에 도시한 바와 같이 모든 매트릭스 계수에 대한 코딩계수와 입력신호의 부분곱을 50의 8개 데이타로 샘플링하기 위한 입력버퍼(41)와, 상기 입력버퍼(41)로부터 우수매트릭스 계수에 대한 코딩계수와 입력신호의 부분곱의 4개의 샘플링 데이타를 19:2로 압축하기 위한 우수매트릭스 연산 처리기(42)와, 상기 입력버퍼(41)로부터 기수매트릭스 계수에 대한 코딩계수와 입력신호의 부분곱의 4개의 샘플링 데이타들을 19:2로 압축하기 위한 기수매트릭스 연산처리기(43)와, 상기 우수 및 기수매트릭스 연산처리기(42,43)의 출력을 연산하여 상기 치환메모리(45)에 저장하도록 출력하기 위한 가감산기(44)를 포함하여 구성되며, 상기 출력측 1차 역이산 코사인변환장치는 상기 치환메모리의 출력데이타를 일시 저장하기위한 중간버퍼(51), 상기 중간버퍼(51)의 출력데이타중 우수매트릭스 계수의 코딩계수에 대한 부분곱들을 19:2로 압축하기 위한 우수매트릭스 연산처리기(52)와, 상기 중간버퍼의 출력데이타중 기수매트릭스 계수의 코딩계수에 대한 부분곱들을 19:2로 압축하기 위한 기수매트릭스 연산처리기(53)와, 상기 우수,기수매트릭스 연산처리기(52,53)의 출력을 연산하여 출력하기 위한 가감산기(54)를 포함하여 구성된다.
그리고 상기 우수 매트릭스 연산처리기(42)는, 제10도에 도시한 바와 같이 각 부분곱들 중 12번째 부분곱까지는 4의 배수번째를 제외한 3개씩의 부분곱들을 순차적으로 입력하여 2개의 출력을 내는 캐리 세이브에더(61,63 ,65)와, 13,15,16번째 부분곱을 입력으로 하여 2개의 출력을 내는 캐리세이브에더(67)와, 17,18,19번째 부분곱을 입력으로하여 2개의 출력을 내는 캐리세이브에더(69)와, 상기 캐리세이브에더(61)의 출력과 4번째 부분곱을 입력으로하여 2개의 출력을 내는 캐리세이브에더(62)와, 상기 캐리세이브에더(63)의 출력과 8번째 부분곱을 입력으로 하여 2개의 출력을 내는 캐리세이브에더(64)와, 상기 캐리세이브에더(65)의 출력과 12번째 부분곱을 입력으로 하여 2개의 출력을 내는 캐리세이브에더(66)와, 상기 캐리세이브에더(67)의 출력과 14번째 부분곱을 입력으로 하여 2개의 출력을 내는 캐리세이브에더(68)와, 상기 캐리세이브에더(62,64)의 모든 출력과 상기 캐리세이브에더(66)의 출력중 하나를 입력으로 하여 압축하기 위한 5:2 압축기와(70), 상기 캐리세이브에더(66)의 나머지 출력과 캐리세이브에더(68,69)의 출력을 입력으로 하여 압축하기 위한 5:2압축기(71)와, 상기 5:2압축기(70)의 모든 출력과 다른 5:2압축기(71)의 출력중 하나를 입력으로 하여 2개의 출력을 내는 캐리세이브에더(72)와, 상기 캐리세이브에더(72)의 출력과 상기 압축기(71)의 나머지 출력을 입력으로 하여 2개의 출력을 내는 캐리세이브에더(73)로 구성되며, 다른 기수 또는 우수매트릭스 연산처리기들도 이와 동일하게 구성된다.
이때 상기 13번째의 부분곱은 14,15번째와 함께 입력하지 않고 상기와 같이 15,16번째의 부분곱과 입력하면, 이들의 웨이트(weight)가 비슷하므로 하드웨어 구성을 간단하 할 수 있다.
또한 상기 가감산기(44)는, 연산시간이 충분치 않아 주기가 바뀔때 데이타를 유지하기 위한 플립플롭으로서, 상기 우수매트릭스 연산 처리기(42)의 캐리 세이브 에더(73)과 데이타를 주고받기 위한 플립플롭(74,80)과, 상기 19:2 압축기(43)의 캐리 세이브 에더(83)과 데이타를 주고받기 위한 플립플롭(76,82)와, 상기 우수, 기수매트릭스 연산 처리기(42,43)에서 출력되는 데이타들을 감산하기 위한 감산기(78')와, 상기 19:2압축기(42,43)에서 출력되는 데이타들을 4:2로 압축하기 가산하기 위한 4:2 가산기(78)와, 상기 4:2 가산기(78)의 데이타들을 가산하기 위한 가산기(77)와, 상기 가산기(77)의 출력을 입력으로 하는 플립플롭(75)와, 상기 감산기(78')의 데이타들을 가산하기 위한 가산기(79)와, 상기 가산기(79)의 출력을 입력으로 하는 플립플롭(81)으로 구성되며, 상기 가감산기(54)도 이와 동일하게 구성된다.
한편 상기 5:2 압축기(70,71)는 제11도에 도시한 바와 같이, 제1자리 수(x0,y0,z0,a0,b0)중 순차적으로 3수(x0,y0,z0)를 가산하여 합과 캐리를 출력하는 전가산기(102)와, 상기 전가산기(102)의 합과 남은 제1자리 수(a0, b0)를 가산하여 합을 S0로 최종출력하고, 캐리는 다음 전가산기(105)로 출력하는 전가산기(104)와, 제2자리 수(x1,y1,z1,a1,b1)중 순차적으로 3수(x1,y1 ,z1)를 가산하여 합과 캐리를 출력하는 전가산기(101)와, 상기 전가산기(101)의 합과 남은 제1자리 수(a1,b1)를 가산하여 합을 전가산기(105)로 출력하고, 캐리는 전가산기(106)으로 출력하는 전가산기(103)와, 상기 전가산기(102,104)의 캐리와, 전가산기(103)의 합을 가산하여 합을 S1으로 최종출력하고, 캐리는 상기 전가산기(106)으로 출력하는 전가산기(105)와, 상기 전가산기(101,103,106)의 캐리를 가산하여 캐리(C3,C2)를 출력하는 전가산기(106)로 구성된다.
즉, 본 발명에서는 1-D과정을 통해 64개의 샘플이 상기 치환 메모리를 메우면, 열과 행을 바꾸어 읽은 후 다시 1-D 과정을 반복하고, 이때 상기 치환메모리에 쓰는 신호는 지그-재그(zig-zag)로 8클럭 사이클마다 수행되어야 하며, 상기 5:2압축기의 경우 상기 6개의 전가산기로 구성되어 2비트씩 더하므로 면적의 감소를 가져온다.
또한, 2번의 1-D 연산은 50에서 8샘플을 동시에 연산하므로 400M sample/sec의 고속연산을 수행할 수 있으며, 기수 메트릭스와 우수매트릭스의 각열마다 부호비트를 더하던 것을 미리 연산한 후 나중에 더해주면 되므로 부분곱의 갯수를 각 열당 1개씩 감소시킬 수 있다.
또한 코딩한 값이 음수인 경우, 종래에는 입력의 2의 보수를 위해 최하위비트에 1을 더해주던 것을 각행에 대하여 기수, 우수 매트릭스에 따라 미리 제12도에 도시한 바와 같이 연산하여 나중에 함께 더해줌으로써 연산시간을 절약할 수 있다.
이러한 경우 1차원 역이산 코사인변환 연산장치는, 우수매트릭스 계수값 또는 그 반전값을 입력으로 하여 4:2 압축기(111114)와, 상기 4:2압축기(111,112)의 모든 출력과 4:2압축기(113)의 출력 중 하나를 입력으로 하여 압축하는 5:2압축기(115)와, 상기 4:2압축기(113)의 나머지 출력과 4:2압축기(114)의 출력 및 우수매트릭스 계수(X4, X0)를 입력으로 하는 5:2압축기(116)와, 상기 두개의 5:2압축기(115,116)의 출력을 입력으로 하여 압축하는 4:2 압축기(117)와, 기수매트릭스 계수와 그 반전값을 입력으로 하여 압축하는 4:2 압축기(129132)와, 상기 4:2압축기(129,130)의 모든 출력과 4:2압축기(131)의 출력 중 하나를 입력으로 하여 압축하는 5:2 압축기(127)와, 상기 4:2압축기(131)의 나머지 출력과 4:2압축기(132)의 출력 및 기수매트릭스 계수(X3) 및 그 반전신호를 입력으로 하는 5:2압축기(128)와, 상기 두개의 5:2압축기(127,128)의 출력을 입력으로 하여 압축하는 4:2 압축기(126)와, 상기 4:2압축기(117)의 출력을 일시 저장하기 위한 플립플롭(118,119)과, 상기 4:2압축기(126)의 출력을 일시 저장하기 위한 플립플롭(124,125)와, 상기 4:2압축기(117)의 출력과 플립플롭(118,119,124,125)의 출력을 입력으로 하여 압축하는 5:2압축기(121)와, 상기 5:2압축기(121)의 신호를 가산하기 위한 가산기(120)와, 상기 4:2압축기(126)의 출력과 플립플롭(118,119)의 출력 및 플립플롭(124,125)의 출력반전신호를 입력으로 하여 압축하는 5:2압축기(122)와, 상기 5:2압축기(122)의 출력을 가산하기 위한 가산기(123)로 구성되며, 기수 부호확장 계수는 47607216이고, 우수부호확장계수는 52248216이며, 첫번째 행의 2의 보수합은 기수의 경우는 3394, 우수의 경우는 1394이므로 (47607216+ 3394)(52248216+ 1394) = 6544102068, 3990816720을 구할 수 있으며, 이와 같은 과정을 각행에 대하여 반복수행한다.
즉, 제12도에 도시한 바와 같이 첫번째 행의 경우 6544102068, 3990 816720을 더하고, 두번째 행의 경우는 6544115840, 3990816308을 더하며, 세번째 행의 경우는 6544110548, 3990817168을 더하며, 네번째 행의 경우는 6544113712, 3990815780을 더하면 된다.
또한 기수, 우수 연산을 각 1개의 하드웨어로 멀티플렉서를 사용하여 동작시키면, 100Msample/sec의 연산속도를 얻을 수 있고, 1-D와 2-D를 하나의 하드웨어로 공유하면 30M sample/sec의 연산속도를 얻을수 있으며, 각각 1/4,1/8의 면적이 소요된다.
이상에서와 같이 본 발명에 의하면, 매트릭스 계수를 멀티 비트 코딩하고, 입력신호에 대한 부분곱을 병렬로 더하여 처리함으로써 연산효율을 극대화할 수 있으며, 또한 용이하게 ASIC화할 수 있는 효과가 있다.

Claims (11)

  1. 역이산 코사인 변환 연산식(식(1))의 우수 및 기수매트릭스 계수를 각각 우수와 기수별로 코딩계수가 2k이 되도록 멀티코딩한 후 상기 코딩계수와 상기 역이산 코사인 변환 연산식의 입력신호[X(u,v)]와의 부분곱을 기수와 우수별로 각각 병렬처리하기 위한 입력측 1차원 역이산 코사인 변환 연산장치와, 상기 입력측 1차원 역이산 코사인 변환연산장치의 연산결과를 치환,저장하기 위한 치환메모리과, 상기 치환메모리에 저장된 데이타를 열과 행을 바꾸어 읽어들인 후 다시 상기 입력측 역이산 코사인 변환장치에서와 동일하게 연산하여 최종 2차원 역이산 코사인 변환된 데이타를 출력하는 출력측 1차원 역이산 코사인 변환연산장치를 포함하여 구성된 것을 특징으로 하는 고속 역이산 코사인 변환연산장치.
  2. 제1항에 있어서, 상기 입력측 1차원 역이산 코사인변환 연산장치는, 모든 매트릭스 계수에 대한 코딩계수와 입력신호의 부분곱을 샘플링하기 위한 입력버퍼와, 우수매트릭스 계수에 대한 코딩계수와 입력신호의 부분곱을 19:2로 압축하기 위한 우수매트릭스 연산처리기(42)와, 기수 매트릭스 계수에 대한 코딩계수와 입력신호의 부분곱 데이타들을 19:2로 압축하기 위한 기수매트릭스 연산처리기(43)와, 상기 우수, 기수 매트릭스 연산 처리기(42, 43)의 출력을 연산하여 상기 치환메모리에 저장되도록 출력하기 위한 가감산기(44)를 포함하여 구성된 것을 특징으로 하는 고속 역이산 코사인변환 연산장치.
  3. 제1항에 있어서, 상기 입력측 1차원 역이산 코사인변환 연산장치는, 우수매트릭스 계수값 또는 그 반전값을 입력으로 하여 4:2 압축기(111114)와, 상기 4:2압축기(111,112)의 모든 출력과 4:2압축기(113)의 출력 중 하나를 입력으로 하여 압축하는 5:2압축기(115)와, 상기 4:2압축기(113)의 나머지 출력과 4:2압축기(114)의 출력 및 우수 매트릭스 계수(X4, X0)를 입력으로 하는 5:2압축기(116)와, 상기 두개의 5:2압축기(115,116)의 출력을 입력으로 하여 압축하는 4:2 압축기(117)와, 기수매트릭스 계수와 그 반전값을 입력으로 하여 압축하는 4:2 압축기(129132)와, 상기 4:2압축기(129, 130)의 모든 출력과 4:2압축기(131)의 출력 중 하나를 입력으로 하여 압축하는 5:2 압축기(127)와, 상기 4:2압축기(131)의 나머지 출력과 4:2압축기(132)의 출력 및 기수매트릭스 계수(X3) 및 그 반전신호를 입력으로 하는 5:2압축기(128)와, 상기 두개의 5:2압축기(127,128)의 출력을 입력으로 하여 압축하는 4:2 압축기(126)와, 상기 4:2압축기(117)의 출력을 일시 저장하기 위한 플립플롭(118,119)과, 상기 4:2압축기(126)의 출력을 일시 저장하기 위한 플립플롭(124,125)와, 상기 4:2압축기(117)의 출력과 플립플롭(118,119,124,125)의 출력을 입력으로 하여 압축하는 5:2압축기(121)와, 상기 5:2압축기(121)의 신호를 가산하기 위한 가산기(120)와, 상기 4:2압축기(126)의 출력과 플립플롭(118,119)의 출력 및 플립플롭(124,125)의 출력반전신호를 입력으로 하여 압축하는 5:2압축기(122)와, 상기 5:2압축기(122)의 출력을 가산하기 위한 가산기(123)을 포함하여 구성된 것을 특징으로 하는 고속 역이산 코사인변환 연산장치.
  4. 제1항에 있어서, 상기 출력측 1차원 역이산 코사인변환 연산장치는 상기 치환메모리의 출력데이타를 샘플링하기 위한 중간버퍼와, 상기 중간버퍼의 출력데이타중 우수매트릭스 계수의 코딩계수에 대한 부분곱들을 19:2로 압축하기 위한 우수매트릭스 연산처리기(52)와, 상기 중간버퍼의 출력데이타중 기수 매트릭수 계수의 코딩계수에 대한 부분곱들을 19:2로 압축하기 위한 기수매트릭스 연산처리기(53)와, 상기 우수,기수매트릭스 연산처리기(52,53)의 출력을 연산하여 출력하기 위한 가감산기(54)를 포함하여 구성된 것을 특징으로 하는 고속 역이산 코사인변환 연산장치.
  5. 제1항에 있어서, 상기 코딩계수는 상기 매트릭스 계수에 212을 곱한 수를 코딩한 것임을 특징으로 하는 고속 역이산 코사인변환 연산장치.
  6. 제1항에 있어서, 상기 코딩계수는 부호비트가 일괄처리된 것임을 특징으로 하는 고속 역이산 코사인변환 연산장치.
  7. 제1항에 있어서, 상기 치환메모리에 저장되는 데이타는 8비트 클럭마다 지그재그로 저장된 것임을 특징으로 하는 고속 역이산 코사인변환 연산장치.
  8. 제2항에 있어서, 상기 우수매트릭스 연산처리기(42)는 각 부분곱들 중 12번째 부분곱까지는 4의 배수번재를 제외한 3개씩의 부분곱들을 순차적으로 입력하여 2개의 출력을 내는 캐리 세이브 에더(61,63,65)와, 13,15,16번째 부분곱을 입력으로 하여 2개의 출력을 내는 캐리 세이브 에더(67)와, 17,18,19번째 부분곱을 입력으로 하여 2개의 출력을 내는 캐리세이브에더(69)와, 상기 캐리 세이브 에더(61)의 출력과 4번째 부분곱을 입력으로 하여 2개의 출력을 내는 캐리 세이브 에더(62)와, 상기 캐리 세이브 에더(63)의 출력과 8번째 부분곱을 입력으로 하여 2개의 출력을 내는 캐리 세이브 에더(64)와, 상기 캐리 세이브 에더(65)의 출력과 12번째 부분곱을 입력으로 하여 2개의 출력을 내는 캐리 세이브 에더(66)와, 상기 캐리 세이브 에더(67)의 출력과 14번째 부분곱을 입력으로 하여 2개의 출력을 내는 캐리 세이브 에더(68)와, 상기 캐리 세이브 에더(62,64)의 모든 출력과 상기 캐리 세이브 에더(66)의 출력중 하나를 입력으로 하여 압축하기 위한 5:2 압축기와(70), 상기 캐리 세이브 에더(66)의 나머지 출력과 캐리 세이브 에더(68,69)의 출력을 입력으로 하여 압축하기 위한 5:2압축기(71)와, 상기 5:2압축기(70)의 모든 출력과 다른 5:2압축기(71)의 출력중 하나를 입력으로 하여 2개의 출력을 내는 캐리 세이브 에더(72)와, 상기 캐리 세이브 에더(72)의 출력과 상기 압축기(71)의 나머지 출력을 입력으로 하여 2개의 출력을 내는 캐리 세이브 에더(73)를 포함하여 구성된 것을 특징으로 하는 고속 역이산 코사인변환 연산장치.
  9. 제2항에 있어서, 상기 가감산기(44)는, 상기 우수매트릭스 연산 처리기(42)의 캐리 세이브 에더(73)과 데이타를 주고받기 위한 플립플롭(74,80)과, 상기 기수매트릭스 연산 처리기(43)의 캐리 세이브 에더(83)과 데이타를 주고받기 위한 플립플롭(76,82)와, 상기 우수, 기수 매트릭스 연산처리기(42, 43)에서 출력되는 데이타들을 감산하기 위한 감산기(78')와, 상기 우수, 기수 매트릭스 연산처리기(42, 43)에서 출력되는 데이타들을 4:2로 압축하기 가산하기 위한 4:2 가산기(78)와, 상기 4:2 가산기(78)의 데이타들을 가산하기 위한 가산기(77)와, 상기 가산기(77)의 출력을 입력으로 하는 플립플롭(75)와, 상기 감산기(78')의 데이타들을 가산하기 위한 가산기(79)와, 상기 가산기(79)의 출력을 입력으로 하는 플립플롭(81)을 포함하여 구성된 것을 특징으로 하는 고속 역이산 코사인변환 연산장치.
  10. 제6항에 있어서, 상기 부호비트는 부분곱 연결과와 더해진 후 합과 캐리로서 출력되도록 구성된 것을 특징으로 하는 고속 역이산 코사인변환 연산장치.
  11. 제8항에 있어서, 상기 5:2압축기는, 제1자리 수(x0,y0,z0,a0,b0)중 순차적으로 3수(x0,y0,z0)를 가산하여 합과 캐리를 출력하는 전가산기(102)와, 상기 전가산기(102)의 합과 남은 제1자리 수(a0, b0)를 가산하여 합을 S0로 최종출력하고, 캐리는 다음 전가산기(105)로 출력하는 전가산기(104)와, 제2자리 수(x1,y1,z1,a1,b1)중 순차적으로 3수(x1,y1 ,z1)를 가산하여 합과 캐리를 출력하는 전가산기(101)와, 상기 전가산기(101)의 합과 남은 제1자리 수(a1,b1)를 가산하여 합을 전가산기(105)로 출력하고, 캐리는 전가산기(106)으로 출력하는 전가산기(103)와, 상기 전가산기(102,104)의 캐리와, 전가산기(103)의 합을 가산하여 합을 S1으로 최종출력하고, 캐리는 상기 전가산기(106)으로 출력하는 전가산기(105)와, 상기 전가산기(101,103,106)의 캐리를 가산하여 캐리(C3,C2)를 출력하는 전가산기(106)를 포함하여 구성된 것을 특징으로 하는 고속 역이산 코사인변환 연산장치.
KR1019960010775A 1996-04-10 1996-04-10 고속 역이산 코사인변환 연산장치 KR100202567B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960010775A KR100202567B1 (ko) 1996-04-10 1996-04-10 고속 역이산 코사인변환 연산장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960010775A KR100202567B1 (ko) 1996-04-10 1996-04-10 고속 역이산 코사인변환 연산장치

Publications (2)

Publication Number Publication Date
KR970073164A KR970073164A (ko) 1997-11-07
KR100202567B1 true KR100202567B1 (ko) 1999-06-15

Family

ID=19455417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960010775A KR100202567B1 (ko) 1996-04-10 1996-04-10 고속 역이산 코사인변환 연산장치

Country Status (1)

Country Link
KR (1) KR100202567B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020084334A (ko) * 2001-04-27 2002-11-07 김희석 메모리 크기를 줄인 2차원 역이산코사인변환 구조

Also Published As

Publication number Publication date
KR970073164A (ko) 1997-11-07

Similar Documents

Publication Publication Date Title
EP0275979B1 (en) Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples
US4791598A (en) Two-dimensional discrete cosine transform processor
JP2945487B2 (ja) 行列乗算器
JP3228927B2 (ja) プロセッサエレメント、プロセッシングユニット、プロセッサ、及びその演算処理方法
US20050004963A1 (en) Parallel adder-based DCT/IDCT design using cyclic convolution
US6052703A (en) Method and apparatus for determining discrete cosine transforms using matrix multiplication and modified booth encoding
US6185595B1 (en) Discrete cosine transformation operation circuit
CN103369326A (zh) 适于高性能视频编码标准hevc的变换编码器
CN1268231A (zh) 数据块规模可变的2维逆向离散余弦变换机
US6003058A (en) Apparatus and methods for performing arithimetic operations on vectors and/or matrices
KR100202567B1 (ko) 고속 역이산 코사인변환 연산장치
KR100227271B1 (ko) 역이산 여현변환방법
JP5589628B2 (ja) 内積演算装置および内積演算方法
JPH07200539A (ja) 二次元dct演算装置
JP3652717B2 (ja) 離散コサイン高速演算器
KR20000013653A (ko) 정/역 최적화 정수형 여현변환장치 및 그 방법
JP3970442B2 (ja) 離散コサイン変換装置及び逆離散コサイン変換装置
KR960014197B1 (ko) 파이프라인 분산연산을 이용한 8×8 이차원 이산여현 변환/역변환 처리장치
KR100575285B1 (ko) 고속의 저전력 이산 코사인 변환 장치 및 방법
JP3396818B2 (ja) Dct演算回路及びidct演算回路
KR0152802B1 (ko) 영상 압축장치의 역이산 코사인 변환방법 및 장치
JPH05153402A (ja) 離散コサイン変換器
KR100350943B1 (ko) 분포연산방식을 이용한 고속 dct 연산회로
JP2000172674A (ja) 逆dct演算装置および逆dct演算方法
JPH06274524A (ja) 直交変換回路および逆変換回路

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20051201

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee