KR100306745B1 - 알에이씨를사용하는하프밴드서브밴드디씨티/아이디씨티회로및그방법 - Google Patents

알에이씨를사용하는하프밴드서브밴드디씨티/아이디씨티회로및그방법 Download PDF

Info

Publication number
KR100306745B1
KR100306745B1 KR1019980048235A KR19980048235A KR100306745B1 KR 100306745 B1 KR100306745 B1 KR 100306745B1 KR 1019980048235 A KR1019980048235 A KR 1019980048235A KR 19980048235 A KR19980048235 A KR 19980048235A KR 100306745 B1 KR100306745 B1 KR 100306745B1
Authority
KR
South Korea
Prior art keywords
dct
rac
data
idct
butterfly
Prior art date
Application number
KR1019980048235A
Other languages
English (en)
Other versions
KR20000031963A (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 KR1019980048235A priority Critical patent/KR100306745B1/ko
Publication of KR20000031963A publication Critical patent/KR20000031963A/ko
Application granted granted Critical
Publication of KR100306745B1 publication Critical patent/KR100306745B1/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/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
    • 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)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 RAC을 사용하는 하프-밴드 서브밴드 DCT/IDCT 회로에 관한 것으로 특히, 저전송율 영상신호용 8x8 DCT/IDCT 장치 및 그 방법을 제공하기 위한 것이다. 본 발명은, 입력 및 전치메모리의 출력을 순차병렬 변환기로 선택적으로 공급해 주는 하나의 멀티플랙서, 8개의 레지스터로 이루어지는 순차병렬 변환기, 3개의 RAC로 구성되는 분산 산술연산 장치, 각각 4개의 레지스터로 이루어지는 레지스터 뱅크 A 및 B, 레지스터 뱅크 A 및 B와 가/감산기로 이루어지는 버터플라이, 버터플라이의 출력을 입력받아 순차병렬 변환기 입력단의 멀티플렉서 및 출력측으로 공급해 주는 전치메모리로 구성되고, 상기 순차병렬 변환된 데이타를 RAC에서 입력받아 행 단위로 매트릭스-벡터 멀티플리케이션을 수행하되, 4-포인트 순방향 DCT처리시에는 하나의 RAC에서, 8-포인트 IDCT 처리시에는 상기 하나의 RAC과는 다른 두개의 RAC에서 각기 4-포인트씩 데이타를 나누어 매트릭스-벡터 멀티플리케이션을 수행하여 그 결과는 레지스터뱅크_A와, 레지스터 뱅크_B에 차례로 저장하는 것을 특징으로 한다.

Description

알에이씨를 사용하는 하프밴드 서브밴드 디씨티/아이디씨티 회로 및 그 방법
본 발명은 저전송율 영상 시스템에 효율적으로 사용될 수 있는 알고리즘과 구조를 사용한 8x8 DCT/IDCT(Discrete Cosine Transform/Inverse Discrete Cosine Transform) 회로 및 그 처리방법에 관한 것이다.
일반적으로 영상 압축이 필요한 응용에서, 입력 영상의 신호 스펙트럼(spectrum)은 특정 주파수 대역에서 거의 모든 에너지를 가지며 다른 부분의 에너지는 거의 무시해도 되는 경우가 많다. 이러한 경우에 에너지가 집중된 서브밴드에 대한 계산만을 수행하고 나머지 밴드에 대한 계산은 수행하지 않음으로써 계산량을 혁신적으로 줄이는 것이 가능하다.
저전송율 영상신호 시스템에서 더욱 적은 요구 계산량을 가지면서 고화질의 전송을 가능하게 하는 서브밴드 DCT라는 새로운 DCT 알고리즘이 있다.
도 1은 종래의 투-밴드(Two-band) 서브밴드 DCT 회로를 나타낸 블록도로서, 이에 도시된 바와 같이, N-포인트 입력샘플 X(n)을 입력받아 서브밴드 분해부(Subband decomposition)(1)을 통해 상기 입력 샘플 X(n)로부터 N/2-포인트 하위밴드 샘플(XL)과, N/2-포인트 상위 밴드 샘플(XH)을 생성하며, 상기 N/2-포인트 하위밴드 샘플(XL)은 N/2-포인트 DCT(2)에서, 상기 N/2-포인트 상위 밴드 샘플(XH)은 N/2-포인트 DST(Discrete Sine Transform)(3)에서 각각 DCT와 DST를 수행한다. 그 DCT와 DST의 결과는 가중치 네트웍(weighting network)(4)에 입력되어 최종적인 N-포인트 DCT의 결과 C(k)가 출력된다.
이와 같이 구성된 서브밴드 DCT의 큰 장점은, N-포인트 DCT를 보다 작은 크기의 DCT와 DST로 표현하여 필요 계산량을 줄일 수 있으며, 서브밴드의 개념을 도입하여 영상압축에 유용한 DCT의 근사계산법을 적용할 수 있는 것이다.
영상 신호의 대부분의 에너지가 저주파수 범위에 집중되어 있는 경우에 고역통과 밴드(high-pass band)에 대한 계산을 수행하지 않는 경우의 계산량은 N/2-포인트 DCT를 수행하는 데 필요한 계산량과 거의 동일하며, 이러한 DCT의 계산을 하프-밴드 서브밴드 DCT라 한다.
도 2에 종래의 하프-밴드 서브밴드 DCT를 수행하기 위한 블록 다이어그램이 나타나 있다.
N-포인트 입력샘플 X(n)을 입력받아 서브밴드 분해부(21)을 통해 상기 입력 샘플 X(n)로부터 N/2-포인트 하위밴드 샘플(XL)을 생성하며, 상기 N/2-포인트 하위밴드 샘플(XL)은 N/2-포인트 DCT(22)에서 DCT를 수행한다. 그 DCT의 결과는 가중치 네트웍(23)에 입력되어 최종적인 N-포인트 DCT의 결과 C(k)가 출력된다.
이와 같이 구성된 하프-밴드 서브밴드 DCT를 하드웨어로 구현하는 경우에 실제로 사용되는 DCT의 크기가 정방향과 역방향 시에 서로 다르다는 문제를 해결해야 한다. 즉 N=8인 경우에 정방향 시에는 4-포인트 DCT를 수행하여야 하나, 역방향 시에는 8-포인트 IDCT를 수행해야 하는 문제가 생긴다. 이러한 문제는 정방향 DCT와 역방향 DCT를 각 각 독립된 모듈로 수행하면 문제가 발생하지 않으나, 이 경우 하드웨어의 효율성이 극도로 저하되는 문제가 발생한다.
본 발명에서는 상기와 같은, DCT의 크기에 의한 문제를 정방향과 역방향 모두에 같은 크기의 DCT를 사용함으로써 해결하고자 한다. 즉 8-포인트 IDCT를 두개의 RAC을 이용하여 각기 4-포인트 IDCT를 수행함으로써 순방향 4-포인트 DCT와 8-포인트 IDCT가 하나의 장치에서 처리할 수 있도록 하는 것이다.
동일한 크기의 DCT를 정방향 DCT와 역방향 DCT에 모두 사용하면 동일한 하드웨어를 반복하여 사용할 수 있는 가능성이 생기게 된다. 즉 4-포인트 DCT에 사용된 하드웨어 모듈을 역방향에서도 사용할 수 있게 된다. 또한 8-포인트 IDCT연산에 필요한 4-포인트 IDCT연산을 동시에 수행하지 않고 순차적으로 수행하면 동일한 하드웨어의 반복 사용도가 더욱 높아진다. 따라서 4-포인트 DCT에 사용되는 구조는 서로 다른 DCT 연산에서 하드웨어의 반복 사용을 극대화 할 수 있는 구조를 사용하는 것이 바람직하다.
서로 다른 DCT 연산을 수행하면서 하드웨어의 반복 사용을 극대화 할 수 있는 방법으로 분산 산술처리(distributed arithmetic) 방법이 있다. 분산 산술처리는 신호처리에서 많이 쓰이는 방법이며 DCT의 구현에도 매우 자주 쓰이는 방법이다. 아래에 분산 산술 처리에 대하여 간단히 설명한다.
변수 X가 변수들 Y0,Y1,Y2,Y3 에 의하여 다음 식에 따라 구해진다고 가정한다.
X=C0Y0+C1Y1+C2Y2+C3Y3 ……… (1)
여기서 변수 Y0,Y1,Y2,Y3 가 n-bit 2의 보수(2's complement)로 표현되어 있는 경우에 Yi,0≤i≤3, 는 다음과 같이 표현 된다.
Yi=-2n-1yi n-1+2n-2yi n-2+...+2yi 1+yi 0
이 때 X는 다음과 같이 표현될 수 있다.
X=-2n-1y0 n-1C0+2n-2y0 n-2C0+...+2y0 1C0+y0 0C0-2n-1y1 n-1C1+2n-2y1 n-2C1+...+2y1 1C1+y1 0C1-2n-1y2 n-1C2+2n-2y2 n-2C2+...+2y2 1C2+y2 0C2-2n-1y3 n-1C3+2n-2y3 n-2C3+...+2y3 1C3+y3 0C3= y0 0C0+y1 0C1+y2 0C2+y3 0C3+2(y0 1C0+y1 1C1+y2 1C2+y3 1C3)...+2n-2(y0 n-2C0+y1 n-2C1+y2 n-2C2+y3 n-2C3)-2n-1(y0 n-1 C0+y1 n-1C1+y2 n-1C2+y3 n-1C3) ……… (2)
위의 식에서 i=0 3yi kCi 의 값들을 yi k 의 가능한 모든 경우에 대하여 미리 계산하여 ROM에 저장하여 놓으면 2ki=0 3yi kCi 의 값을 쉽게 구할 수 있다. 이러한 중간 값들을 계속하여 구하면 최종적으로 원하는 값을 구할 수 있다. 도 3에 식 (2)의 값을 구하는 회로가 나타나 있다. 그림에서 ROM과 누적기(accumulator)가 연결되어 있는 것을 RAC(ROM and accumulator in cascade)라고 하며, 4-포인트 입력 Y0, Y1, Y2, Y3을 입력받는 ROM(31)의 출력을 입력받아 가/감산기(32) 및 쉬프트 레지스터(Shifter Register)(33)를 통한 피드백에 의해 하기 식(3)과 (4)의 우측에 있는 코사인 메트릭스-벡터와 상기 입력값을 곱셈하여 그 결과를 출력하도록 구성된다. 이는 일반적인 구성으로서 본 발명에서는 이러한 RAC을 3개를 사용하여 하나의 RAC을 이용하여 4-포인트 순방향 DCT를 처리하고, 다른 두개의 4-포인트 RAC을 이용하여 8-포인트 IDCT를 처리하도록 함에 특징이 있다.
결국, 본발명에 따르면 RAC를 사용하는 하프밴드 서브밴드 DCT/IDCT 회로는, 하프밴드 서브밴드 DCT/IDCT 회로에 있어서, 서로 다른 경로를 통해 입력되는 복수의 영상신호를 선택적으로 출력하는 멀티플렉서와; 상기 멀티플렉서에서 선택 출력된 영상신호를 행 단위로 순차적으로 입력받아 병렬로 출력하는 순차 병렬 변환수단과; 상기 순차 병렬 변환수단에서 출력되는 데이터를 매트릭스 벡터 멀티플리케이션을 통한 4-포인트 순방향 DCT 및 8-포인트 IDCT를 각각 수행하는 복수의 RAC으로 이루어진 분산 산술 연산장치와; 상기 복수의 RAC에서 출력되는 데이터를 각각 교번으로 저장하는 복수의 레지스터 뱅크와, 상기 복수의 레지스터 뱅크에 저장된 각각의 데이터를 리드하여 버터 플라이 연산을 수행하는 가/감산기로 이루어진 버터 플라이수단; 및 상기 버터 플라이수단으로부터 출력되는 데이터를 상기 멀티플렉서의 일 입력 영상으로 제공하는 전치메모리를 포함함에 있다.
도 1은 종래 투-밴드 서브밴드(Two-band subband) DCT 알고리즘을 나타낸 블럭도.
도 2는 종래 하프-밴드 서브밴드(Half-band subband) DCT 근사화 모델을 나타낸 블럭도.
도 3은 종래 분산 산술처리 장치를 나타낸 블럭도.
도 4는 본 발명에 의한 RAC를 사용하는 저전송율 영상 신호용 하프-밴드 서브밴드 8x8 DCT/IDCT를 나타낸 블럭도.
<도면의 주요부분에 대한 부호의 설명>
100 : 멀티 플렉서
200 : 순차병렬변환기(SPC : Serial-to-Parallel Converter)
201,401 : 레지스터
300 : 4-포인트 RAC(ROM and Accumulator in Cascade)
400 : 버터플라이부 410,420 : 레지스터 뱅크_A, B
430 : 가/감산기
500 : 전치메모리(TM ; Transposition Memory)
이하, 본 발명의 실시예를 첨부된 도면을 참조해서 상세히 설명하면 다음과 같다.
도 4에 저전송율 영상신호용 8x8 DCT/IDCT의 구조가 나타나 있다. 도 4에 도시된 바와 같이, 입력 및 전치메모리의 출력을 선택적으로 입력받는 하나의 멀티플랙서(100)와, 8개의 레지스터(201)로 구성되어 상기 멀티 플렉서(100)로부터 공급되는 영상 입력을 행 단위로 순차적으로 입력 받아 병렬로 출력하는 순차병렬변환기(SPC)(200)와, 그 순차병렬변환기(200)로부터 병렬데이타를 입력받아 하프밴드 서브밴드 DCT를 행하는 3개의 RAC(300)와, 8개의 레지스터(401)와 하나의 가감산기(430)로 구성되어 버터플라이 네트웍 기능을 수행하는 버터플라이 유니트(400)와, 그 버터플라이 유니트(400)의 출력을 공급받아 상기 멀티플렉서(100)에 로드시켜 상기 순차병렬변환기(200)로 공급해주는 전치메모리(500)로 구성된다.
이와 같이 구성된 본 발명은, 순차병렬변환기(200)는, 4개의 레지스터가 직렬연결되고, 그 4개의 레지스터의 각각의 출력을 받는 4개의 레지스터가 병렬로 출력하도록 구성되어 순차병렬변환(SPC ; serial-to-parallel converter)의 기능을 수행하도록 구성된다. 상기 버터플라이 유니트(400)는 8개의 레지스터(401)와 가/감산기로 구성하되, 상기 3개의 4-RAC(300)로부터 출력되는 4-포인트 데이타를 4개의 레지스터가 각각 입력받는 뱅크_A(Bank_A)(410)와, 그 뱅크_A와 동일한 구성으로 상기 4-포인트 데이타를 4개의 레지스터가 입력받는 뱅크_B(Bank_B)(420)와, 상기 뱅크_A 및 뱅크_B의 출력을 가/감산하여 버터플라이 네트웍(butterfly network)의 역할을 수행하는 가/감산기(430)로 구성된다.
도 4에는 3개의 4-입력 RAC(300)가 구비되어 구성되며, RAC 하나는 하프-밴드 서브밴드 DCT를 위한 4-포인트 순방향 DCT를 수행하는데 사용되며, 나머지 두 개의 RAC은 8-포인트 IDCT(역방향 DCT)를 수행하는데 사용된다.
이와 같이 구성된 본 발명에 의한 저전송율 영상신호용 DCT/IDCT 동작을 설명한다.
먼저 IDCT를 수행하는 과정을 설명하기로 한다. 8-포인트 IDCT는 아래에 보이는 두 개의 식으로 나타낼 수 있다.
… (3)
… (4)
도 4의 8x8 DCT/IDCT 모듈이 IDCT를 수행하는 과정은 아래와 같다.
제 1단계는 멀티플렉서(100)는 최초 외부 입력을 선택하여 순차병렬 변환기(200)에 공급한다. 즉, 8x8 영상 데이터가 행 단위로 순차적으로 SPC에 입력된다. 이 때 하나의 행은 짝수번째 데이터 4개의 데이터(Y0,Y2,Y4,Y6)가 먼저 입력되고, 홀수번째 데이터 4개(Y1,Y3,Y5,Y7)는 그 후에 입력된다.
제 2단계는 처음에 입력된 4개의 데이터는 식 (3)에 보이는 매트릭스-벡터 멀티플리케이션(matrix-vector multiplication)이 하나의 RAC(300)에 의하여 수행되어 그 결과는 버터플라이 유니트(400)의 레지스터 뱅크_A(410)에 저장된다.
제 3단계는 다음에 입력되는 4개의 데이터는 식 (4)에 보이는 매트릭스-벡터멀티플리케이션이 또 다른 하나의 RAC(300)에 의하여 수행되어 그 결과는 버터플라이 유니트(400)의 레지스터 뱅크_B(420)에 저장된다.
제 4단계는 다음 행의 데이터가 RAC(300)에서 처리되는 동안에 레지스터 뱅크_A, B(410),(420)에 있는 중간 결과들은 가/감산기(430)에 의하여 식 (3),(4)의 좌측에 보이는 버터플라이 계산이 수행되어 그 결과는 순차적으로 전치메모리(TM)(500)에 저장된다.
상기 제 1단계에서 제 4단계까지의 과정은 전치메모리(500)에 64개의 데이터가 모두 저장될 때까지 계속된다.
제 5단계는 전치메모리(500)에 있는 8x8 데이터가 열 단위로 순차적으로 순차병렬변환기(SPC)(200)에 입력된다. 즉, 멀티플렉서(100)가 외부 입력 대신에 상기 전치메모리(500)의 출력을 선택하여 순차 병렬변환기(200)에 공급하게 된다.
이 때도 하나의 열은 짝수번째 데이터 4개의 데이터(Y0,Y2,Y4,Y6)가 먼저 입력되고 홀수번째 데이터 4개(Y1,Y3,Y5,Y7)는 그 후에 입력된다.
제 6단계는, 처음에 입력된 4개의 데이터는 식 (3)에 보이는 매트릭스-벡터 멀티플리케이션이 하나의 RAC(300)에 의하여 수행되어 그 결과는 버터플라이 유니트(400)의 레지스터 뱅크_A(410)에 저장된다.
제 7단계는 다음에 입력되는 4개의 데이터는 식 (4)에 보이는 매트릭스-벡터 멀티플리케이션이 또 다른 하나의 RAC(300)에 의하여 수행되어 그 결과는 버터플라이 유니트(400)의 레지스터 뱅크_B(420)에 저장된다.
제 8단계는 다음 열의 데이터가 RAC(300)에서 처리되는 동안에 레지스터 뱅크_A, B(410), (420)에 있는 중간 결과들은 가/감산기(430)에 의하여 식 (3),(4)의 좌측에 보이는 버터플라이 계산이 수행되어 그 결과는 순차적으로 8x8 2-D IDCT의 결과로 출력된다.
상기 제 5단계에서 제 8단계까지의 과정은 64개의 데이터가 모두 출력될 때까지 계속된다.
위에 보인 IDCT 수행 과정의 제 3단계와 제 4단계, 그리고 제 7단계와 제 8단계 사이에 레지스터 뱅크 충돌이 생기지 않는 것이 중요하다. 본발명에서 제안되는 DCT/IDCT는 분산 산술처리 방식을 사용함으로 RAC의 결과는 4개의 중간 결과가 모두 결정된 뒤에 한 번에 레지스터 뱅크로 출력되기 때문에 레지스터 뱅크 충돌이 생기지 않는다. 예를들어 내부 정밀도가 16-bit인 경우에 4-RAC의 각 입력이 2-bit이면 RAC에서는 8클럭마다 중간 결과를 출력한다. 따라서 레지스터 뱅크와 가/감산기(430)에서 8클럭마다 8개의 결과를 출력하면, 레지스터 충돌(register contention)이 생기지 않는다.
본 발명에서 제안된 8x8 DCT/IDCT 모듈이 하프-밴드 서브밴드 DCT를 수행하는 동작을 설명한다. 여기서 영상 압축 시스템은 DCT/IDCT의 입력으로 2x2 하다마드 변환(hadamard transform)이 수행된 4x4 데이터를 입력시킨다. 4x4 매트릭스의 각 요소는 8x8 매트릭스의 2x2 서브-매트릭스의 평균값이므로 간단히 계산될 수 있다.
본 발명에서 제안된 8x8 DCT/IDCT는 하다마드 변환된 4x4 데이터에 대한 DCT만을 수행하고 8x8 데이터의 나머지 48개에 대한 DCT 계수는 영상 압축 시스템에서 '0'으로 처리된다. 8x8 DCT/IDCT에서 4x4 2-D DCT를 수행하는 과정은 다음과 같다.
제 1단계는 멀티플렉서(100)에서 선택된 4x4 영상 데이터가 행 단위로 순차적으로 순차병렬변환기(SPC)(200)에 입력된다.
제 2단계는 입력된 4개의 데이터는 1-D DCT에 필요한 매트릭스-벡터 멀티플리케이션이 하나의 RAC(300)에 의하여 수행되어 그 결과는 버터플라이 유니트(400)의 레지스터 뱅크_A(410)에 저장된다.
제 3단계는, 다음 행의 데이터가 RAC(300)에서 처리되는 동안에 레지스터 뱅크_A(410)에 있는 중간 결과들은 순차적으로 전치메모리 TM(500)에 저장된다.
상기 제 1단계에서 제 3단계까지의 과정은 전치메모리(500)에 16개의 데이터가 모두 저장될 때까지 계속된다.
제 4단계는 상기 전치메모리(500)에 있는 4x4 데이터가 멀티플렉서(100)를 통하여 열 단위로 순차적으로 순차병렬변환기(200)에 입력된다.
제 5단계는 입력된 4개의 데이터는 1-D DCT에 필요한 매트릭스-벡터 멀티플리케이션이 하나의 RAC에 의하여 수행되어 그 결과는 버터플라이 유니트(400)의 레지스터 뱅크_B(420)에 저장된다.
제 6단계는 다음 열의 데이터가 RAC에서 처리되는 동안에 레지스터 뱅크_B(420)에 있는 결과들은 순차적으로 4x4 2-D DCT의 결과로 출력된다.
상기 제 4단계에서 제 6단계까지의 과정은, 16개의 데이터가 모두 출력될 때까지 계속된다.
도 4에서 하나의 RAC가 4개의 입력에 대하여 매트릭스-벡터 멀티플리케이션을 수행하는데 8개의 클럭이 소요되는 것으로 가정한다. 이는 내부 정밀도가 16-bit이고 각 채널 당 2-bit가 있는 경우를 가정한 것이다. 따라서 순차병렬변횐기(200)에 입력되는 데이터들은 두 클럭에 하나 씩 입력되어야 한다.
8x8 2-D IDCT를 수행하는 경우에 도 4의 버터플라이 회로에서는 8x8 2-D IDCT 레지스터 뱅크_A(410)와 레지스터 뱅크_B(420)에 8개의 데이터가 입력된 후에는 8 클럭 안에 8개의 데이터를 계산하여(butterfly computation) 전치메모리(500)에 공급하여야 한다. 이는 뱅크_A(410)와 뱅크_B(420)에 8개의 데이터가 입력된 후 8 클럭 후에는 뱅크_A(410)에 새로운 데이터가 공급되기 때문이다.
8x8 2-D IDCT를 수행하는 경우에 하나의 행이 1-D DCT가 수행되어 전치메모리(500)에 저장될 때까지는 40클럭이 소요된다. 실제로는 32 클럭만에 8개의 데이터가 전치메모리(500)에 저장되나 그 후 8 클럭 동안은 버터플라이 회로가 동작하지 못하므로 40 클럭이 소요되는 것으로 한다.
따라서 8 개의 행이 파이프라인 방식으로 공급되면 8 개의 행에 대하여 각각 1-D DCT가 수행되어 그 결과가 전치메모리에 저장되는 데는 152 클럭이 소요된다. 전치메모리(500)에 저장된 8개의 행에 대하여 다시 각 각 1-D DCT 가 수행되어 그 결과가 출력되는 데에 다시 152 클럭이 소요되므로 하나의 8x8 2-D DCT가 수행되는 데는 304 클럭이 소요된다.
4x4 2-D IDCT를 수행하는 경우에 하나의 행이 1-D DCT가 수행되어 전치메모리에 저장될 때까지는 24 클럭이 소요된다. 4개의 행이 파이프라인 방식으로 공급되면 4개의 행에 대하여 각각 1-D DCT가 수행되어 그 결과가 전치메모리에 저장되는 데는 48 클럭이 소요된다. 전치메모리에 저장된 4 개의 행에 대하여 다시 각각 1-D DCT 가 수행되어 그 결과가 출력되는 데에 다시 48 클럭이 소요되므로 하나의 4x4 2-D DCT가 수행되는 데는 96 클럭이 소요된다.
초 당 30개의 QCIF에 두 개의 IDCT를 수행하고 하나의 하프-밴드 서브밴드 DCT를 수행하는 경우에 소요되는 클럭의 수는 다음과 같다. 여기서 블록과 블록사이에서는 파이프라인 방식이 사용되지 않는 것을 가정한다.
30 x 99 x 6 x (96 + 304 + 304) 11.4 x 106
따라서 8x8 DCT/IDCT에 요구되는 동작 클럭주파수는 약 12MHz이다.
본 발명은 초 당 30 개의 QCIF 화면 처리에 두 개의 IDCT를 수행하고 하나의 하프-밴드 서브밴드 DCT를 수행하는 경우 필요한 동작 주파수가 약 12MHz로서 매우 낮기 때문에 소비전력을 줄일 수 있으며, 정방향과 역방향 모두에 동일한 하드웨어를 반복하여 사용함으로써 적은 하드웨어 비용으로 저전송율 영상신호를 위한 8x8 DCT/IDCT를 효율적으로 수행한다.

Claims (4)

  1. 하프밴드 서브밴드 DCT/IDCT 회로에 있어서,
    서로 다른 경로를 통해 입력되는 복수의 영상신호를 선택적으로 출력하는 멀티플렉서와;
    상기 멀티플렉서에서 선택 출력된 영상신호를 행 단위로 순차적으로 입력받아 병렬로 출력하는 순차 병렬 변환 수단과;
    상기 순차 병렬 변환 수단에서 출력되는 데이터를 매트릭스 백터 멀티플리케이션을 통한 4-포인트 순방향 DCT 및 8-포인트 IDCT를 각각 수행하는 복수의 RAC으로 이루어진 분산 산술 연산 장치와;
    상기 복수의 RAC에서 출력되는 데이터를 각각 교번으로 저장하는 복수의 레지스터 뱅크와, 상기 복수의 레지스터 뱅크에 저장된 각각의 데이터를 리드하여 버터플라이 연산을 수행하는 가/감산기로 이루어진 버터플라이 수단; 및
    상기 버터플라이 수단으로부터 출력되는 데이터를 상기 멀티플렉서의 일입력 연상으로 제공하는 전치메모리를 포함하는 것을 특징으로 하는 RAC를 사용한 하프밴드 서브밴드 DCT/IDCT 회로.
  2. 제 1 항에 있어서, 상기 분산 산술 연산 수단은 상기 복수의 RAC에서 복수의 중간결과가 모두 결정된후에 한번에 버터플라이 수단으로 전송하여 버터플라이 수단내의 레지스터 연결을 차단하도록 하는 것을 특징으로 하는 RAC를 사용한 하프밴드 서브밴드 DCT/IDCT 회로.
  3. DCT/IDCT회로에 있어서,
    DCT처리를 위해 하나의 4-포인트 RAC와, IDCT처리를 위해 상기 RAC과는 다른 두개의 8-포인트 RAC을 구비하고,
    입력데이타를 행단위로 짝 수번째 데이타를 먼저 입력받고, 홀수번째 데이타를 그 다음에 입력받아 순차 병렬 변환 시키는 제 1 과정과;
    그 순차병렬 변환된 데이타를 RAC에서 입력받아 행 단위로 매트릭스-벡터 멀티플리케이션을 수행하되, 4-포인트 순방향 DCT처리시에는 하나의 RAC에서, 8-포인트 IDCT 처리시에는 상기 하나의 RAC과는 다른 두개의 RAC에서 각기 4-포인트씩 데이타를 나누어 매트릭스-벡터 멀티플리케이션을 수행하여 그 결과는 레지스터뱅크_A와, 레지스터 뱅크_B에 차례로 저장하는 제 2 과정과;
    그 레지스터 뱅크_A와 뱅크_B에 저장된 데이타를 읽어서 가/감 계산에 의한 버터플라이 계산을 수행하여 전치메모리에 저장하는 제 3 과정과;
    상기 제 1 과정에서 제 3 과정을 반복 수행하여 전체 데이타를 행단위로 처리한 후, 상기 전치 메모리에 저장된 데이타를 열 단위로 상기 제 1과정에서 상기 제 3과정까지를 반복하면서 버터플라이 계산이 완료된 결과를 출력하는 제 4 과정을 수행하는 것을 특징으로 하는 RAC를 사용하는 하프밴드 서브밴드 DCT/IDCT 방법.
  4. 제 5 항에 있어서, 상기 제 2 과정은,
    분산 산술처리 방식을 사용하여 상기 RAC의 결과가 4개의 중간 결과가 모두 결정된 뒤에 한 번에 레지스터 뱅크로 출력하도록 하는 것을 특징으로 하는 RAC를 사용하는 하프밴드 서브밴드 DCT/IDCT 방법.
KR1019980048235A 1998-11-11 1998-11-11 알에이씨를사용하는하프밴드서브밴드디씨티/아이디씨티회로및그방법 KR100306745B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980048235A KR100306745B1 (ko) 1998-11-11 1998-11-11 알에이씨를사용하는하프밴드서브밴드디씨티/아이디씨티회로및그방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980048235A KR100306745B1 (ko) 1998-11-11 1998-11-11 알에이씨를사용하는하프밴드서브밴드디씨티/아이디씨티회로및그방법

Publications (2)

Publication Number Publication Date
KR20000031963A KR20000031963A (ko) 2000-06-05
KR100306745B1 true KR100306745B1 (ko) 2002-05-18

Family

ID=19557893

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980048235A KR100306745B1 (ko) 1998-11-11 1998-11-11 알에이씨를사용하는하프밴드서브밴드디씨티/아이디씨티회로및그방법

Country Status (1)

Country Link
KR (1) KR100306745B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100481067B1 (ko) * 2001-09-28 2005-04-07 브이케이 주식회사 분산 산술 처리장치 및 그를 이용한 이차원 이산여현변환 처리장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527103B1 (ko) * 2013-10-30 2015-06-17 고려대학교 산학협력단 이산 코사인 변환 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100481067B1 (ko) * 2001-09-28 2005-04-07 브이케이 주식회사 분산 산술 처리장치 및 그를 이용한 이차원 이산여현변환 처리장치

Also Published As

Publication number Publication date
KR20000031963A (ko) 2000-06-05

Similar Documents

Publication Publication Date Title
US6061705A (en) Power and area efficient fast fourier transform processor
US4791598A (en) Two-dimensional discrete cosine transform processor
US5875122A (en) Integrated systolic architecture for decomposition and reconstruction of signals using wavelet transforms
EP0736205B1 (en) Method and apparatus for performing a fast hadamard transform
KR100311251B1 (ko) 2차원이산코사인변환장치,2차원역이산코사인변환장치및디지탈신호처리장치
EP0506111A2 (en) DCT/IDCT processor and data processing method
WO1993023816A1 (en) System and method for cross correlation with application to video motion vector estimation
JPH08235159A (ja) 逆コサイン変換装置
US20050125469A1 (en) Method and system for discrete cosine transforms/inverse discrete cosine transforms based on pipeline architecture
WO1999010818A1 (en) Variable block size 2-dimensional inverse discrete cosine transform engine
CN114007079A (zh) 变换电路、方法、装置和编码器
US5867414A (en) Compact pipelined matrix multiplier utilizing encoding and shifting circuit configurations
US5291429A (en) Circuit for matrix calculation of discrete cosine transformation
KR100306745B1 (ko) 알에이씨를사용하는하프밴드서브밴드디씨티/아이디씨티회로및그방법
US5825420A (en) Processor for performing two-dimensional inverse discrete cosine transform
Mohanty et al. Efficient multiplierless designs for 1-D DWT using 9/7 filters based on distributed arithmetic
Hsiao et al. A cost-efficient and fully-pipelinable architecture for DCT/IDCT
KR100248082B1 (ko) 이차원이산여현변환장치
KR20030054300A (ko) 레딕스-8 단일 경로 지연 전달 구조의 고속 퓨리에 변환장치 및 그 방법
KR100193385B1 (ko) 단일화된 시스톨릭어레이 구조에 의한 dct/dst/dht의 수행 방법 및 그 장치
Rybenkov et al. High performance multiplier-less pipelined FPGA architecture for 2-D non-separable quaternionic filter banks
KR100575285B1 (ko) 고속의 저전력 이산 코사인 변환 장치 및 방법
JP2822684B2 (ja) 離散コサイン変換装置および逆離散コサイン変換装置
JP3046115B2 (ja) 離散コサイン変換器
Demassieux et al. Orthogonal transforms

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