Top Banner
L39: Low Power DCT/IDCT Processor 설설
21

L39: Low Power DCT/IDCT Processor 설계

Feb 13, 2016

Download

Documents

YAKOV

L39: Low Power DCT/IDCT Processor 설계. 1. Introduction. 본 Project 에서는 DCT/IDCT 알고리즘과 구조를 알아 보고 단일 칩 HDTV(MPEG-2), H.26x 등에서 사용이 가능한 소면적 , 고속의 DCT/IDCT 프로세서 구조를 제안하고 저전력 설계 방법으로 구현해 본다 . 저전력 디지털 설계 DCT/IDCT 알고리즘과 구조 소면적 , 고속의 DCT/IDCT 프로세서 구조를 제안 VLSI 설계 및 구현 결론. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: L39: Low Power DCT/IDCT Processor  설계

L39: Low Power DCT/IDCT Processor 설계

Page 2: L39: Low Power DCT/IDCT Processor  설계

1. Introduction

• 저전력 디지털 설계• DCT/IDCT 알고리즘과 구조• 소면적 , 고속의 DCT/IDCT 프로세서 구조를 제안• VLSI 설계 및 구현• 결론

본 Project 에서는 DCT/IDCT 알고리즘과 구조를 알아 보고 단일 칩 HDTV(MPEG-2), H.26x 등에서 사용이 가능한 소면적 , 고속의 DCT/IDCT 프로세서 구조를 제안하고 저전력 설계 방법으로 구현해 본다 .

Page 3: L39: Low Power DCT/IDCT Processor  설계

2. 저전력 디지털 설계

• Modified DCT/IDCT 프로세서 구조로 하드웨어 크기를 줄여 물리적 Capacitance 를 감소 시킨다 .

W.H. Chen 의 고속 알고리즘 분산 연산 구조

곱셈기 제거RAC(ROM and Accumulator in Cascade) 로 매트릭스 곱셈

수행

• 소비전력이 적은 구조를 갖는 고속 덧셈기를 최적 설계한다 .

Page 4: L39: Low Power DCT/IDCT Processor  설계

3. DCT/IDCT 구조 (1)

3.1 DCT/IDCT 알고리즘

입력 픽셀 블록의 값 에 대한 정 방향 2-D DCT 와 역 방향 2-D DCT 식은 다음과 같다 .

X u vNC u C v x i j i u

Nj vNj

N

i

N

( , ) ( ) ( ) ( , ) cos ( ) cos ( )

2 2 12

2 120

1

0

1

x i jN

C u C v X u vi uN

j vNv

N

u

N

( , ) ( ) ( ) ( , ) cos ( ) cos ( )

2 2 12

2 120

1

0

1

C C u C v u v( ) , ( ) ( ) ( , )0 12

1 0 0

x i j( , )

Page 5: L39: Low Power DCT/IDCT Processor  설계

3. DCT/IDCT 구조 (2)

3.2 고속알고리즘

1-D DCT/IDCT

M atrixTranspose

1-D DCT/IDCTIN OUT

RC M(row- column method) 2- D DCT/ IDCT 의 구 조

Page 6: L39: Low Power DCT/IDCT Processor  설계

3. DCT/IDCT 구조 (3)X0

X4

X2

X6

X5

X1

X7

X3

x0

x1

x2

x3

x4

x5

x6

x7

A1

A2

A3

A4

A5

A6

A7

A8

- 1- 1 - 1

- 1

- 1

- 1

- 1

- 1

- 1

- 1 - 1 - 1

- 1

- 1

- 1

B5

B4

B3

B2

B1

The Flowgraph for 1- D IDC T by Arai, Agui, and Nakajima

Annn

B B B B B

RST 8 1

16 2 81 3 0 707 2 0 541 4 1 307 5 0 383. , . , . , .

Page 7: L39: Low Power DCT/IDCT Processor  설계

3. DCT/IDCT 구조 (4)

x1

x2

x3

x4

x5

x6

x7

x0 X0

X4

X2

X6

X1

X5

X3

X7

- 1

- 1

- 1

- 1

- 1

- 1

- 1

- 1

- C 4

- C 4- C 4- C 4

- C 4

- C 4- C 4- C 4

C 6

C 6- C 2C 2

C 7

C 3

C 3

C 7

C 1

C 5- C 5

- C 1

The F lowgraph of C hen's 1- D DC T

Page 8: L39: Low Power DCT/IDCT Processor  설계

3. DCT/IDCT 구조 (5)

W.H. Chen은 행렬을 재구성하여 연산량을 줄이는 고속 알고리즘을 제안 .• 코사인 함수의 대칭성을 이용• (N x N) x (N x 1) 행렬 연산을 (N/2 x N/2) x (N/2 x 1) 행렬연산 식으로 변환하여 계산량을 줄임 .

XXXX

C C C CC C C CC C C CC C C C

x xx xx xx x

XXXX

C C C CC C C CC C C CC C C C

x

0

2

4

6

4 4 4 4

2 6 6 2

4 4 4 4

6 2 2 6

0 7

1 6

2 5

3 4

1

3

5

7

1 3 5 7

3 7 1 5

5 1 7 3

7 5 3 1

12

12

L

NMMMM

O

QPPPP

L

NMMMM

O

QPPPP

L

NMMMM

O

QPPPP

L

NMMMM

O

QPPPP

L

NMMMM

O

QPPPP

0 7

1 6

2 5

3 4

16

L

NMMMM

O

QPPPP

xx xx xx x

where c kk, cos

xxxx

C C C CC C C CC C C CC C C C

XXXX

C C C CC C C CC C C CC C C C

XXXX

xxxx

0

2

4

6

4 2 4 6

2 6 4 2

4 2 4 6

4 6 4 2

0

2

4

6

1 3 5 7

5 1 7 3

7 5 3 1

3 7 1 5

1

3

5

7

0

2

4

6

12

12

L

NMMMM

O

QPPPP

L

NMMMM

O

QPPPPL

NMMMM

O

QPPPP

L

NMMMM

O

QPPPPL

NMMMM

O

QPPPP

L

NMMMM

O

QPPPP

L

NMMMM

O

QPPPPL

NMMMM

O

QPPPP

L

NMMMM

O

QPPPPL

NMMMM

O

QPPPP

12

12

16

4 2 4 6

2 6 4 2

4 2 4 6

4 6 4 2

0

2

4

6

1 3 5 7

5 1 7 3

7 5 3 1

3 7 1 5

1

3

5

7

C C C CC C C CC C C CC C C C

XXXX

C C C CC C C CC C C CC C C C

XXXX

where c kk, cos

Page 9: L39: Low Power DCT/IDCT Processor  설계

3. DCT/IDCT 구조 (6)

3.3 분산 연산 구조 (Distributed Arithmetic)XX

X

c c cc c c

c c c

xx

x

X c x x b bb sign bitb mth bitM number of bits

X c x

c b b

K

K

N N NK K

n nk kk

K

k k kmm

Mm

k

km

n nk kk

K

nk k kmm

Mm

k

K

1

2

6

10 11 1

20 21 2

0 1

1

2

10

1

1 0

1

01

1

1

2

2

L

NMMMM

O

QPPPP

L

NMMMM

O

QPPPPL

NMMMM

O

QPPPP

RS|T|

::

:

( )

c b c bnk kmk

K

m

Mm

nk kk

K

LNM OQP

11

1

01

2 ( )

...........

...........

...........

...........

ROM1

ROM4

ROM3

ROM2

±

±

±

±

R

R

R

R

x1

x2

x3

x4

X1

X2

X3

X4

Page 10: L39: Low Power DCT/IDCT Processor  설계

4. Modified DCT/IDCT

XX

C CC C

x x x xx x x x

XX

C CC C

x x x xx x x x

XXXX

C C C CC C C CC C C CC C C C

0

4

4 4

4 4

0 7 3 4

1 6 2 5

6

2

2 6

6 2

1 6 2 5

0 7 3 4

1

3

5

7

1 3 5 7

3 7 1 5

5 1 7 3

7 5 3 1

12

12

12

LNMOQP

LNM OQP

LNM OQPLNMOQPLNM OQP

LNM OQPL

NMMMM

O

QPPPP

L

NMMMM

O

QPPPP

L

NMMMM

O

QPPPP

x xx xx xx x

where c kk

0 7

1 6

2 5

3 4

16, cos

Forward DCT 는 매트릭스 분해 과정을 통해서 아래와 같이 표현 된다 .

고속 알고리즘 : 입력계수 상호간의 가감산 부분

분산 산출 처리 : 서로 다른 상수값과의 곱셈 부분

Page 11: L39: Low Power DCT/IDCT Processor  설계

5. VLSI 설계 및 구조5.0 DCT/IDCT Processor 입출력 신호

D C T/ID C T Processor

Reset

C LK

DI

MC D

ST

DO

Done

ResetCLKDI : 입력 데이터 버스MCD : DCT/IDCT Change ModeST : 데이터 입력 시작 신호

DO : 출력 데이터 버스Done : 출력데이터 시작 신호

Page 12: L39: Low Power DCT/IDCT Processor  설계

5. VLSI 설계 및 구조Transpose

module

1-D DCTcomputation

moduleParallel-to-Serial

moduleSerial-to-Parallel

module

Output buffer& clipping

Inputbuffer

FDCT_IN(8:0)IDCT_IN(11:0)

FDCT_OUT(11:0)IDCT_OUT(8:0)

5.1 DCT 전체 블럭도

Page 13: L39: Low Power DCT/IDCT Processor  설계

5. VLSI 설계 및 구조5.2 Transpose RAM(1)

16wordD x16bits QA (RAM1)

16wordD x16bits QA (RAM2)

16wordD x16bits QA (RAM3)

16wordD x16bits QA (RAM4)

A Mux B

A Mux B

C ontro ller

A B Mux C

A B Mux C

DL(15:0)

DH(15:0)

SyncR/ W control

QL(15:0)

QL(15:0)

Transpose Module 의 구 조

Page 14: L39: Low Power DCT/IDCT Processor  설계

5. VLSI 설계 및 구조5.2 Transpose RAM(2)

0 2 4 616 18 20 2232 34 36 3848 50 52 54

1 3 5 717 19 21 2333 35 37 3949 51 53 55

8 10 12 14 24 26 28 3040 42 44 4656 58 60 62

9 10 12 14 25 27 29 3141 43 45 4757 59 61 63

RAM1 RAM2

RAM3 RAM4

Transpose RAM 의 사 용 예

10

3 5 72 4 6

9 11

8 10... 57

56

59

58

61

60

63

62

1

0

3

2

5

4

7

6

8

0

24

16

40

32

56

48

9

1

25

17

...

... 15

7

31

23

47

39

63

55

60cyc les 64cyc les

Transpose Mudule 의 입 출 력 데 이 터 형 태

Page 15: L39: Low Power DCT/IDCT Processor  설계

5. VLSI 설계 및 구조5.3 Internal data word-length

14 13 12 11 10 9 8 7 6 5 4 3 2 1 .1 .2 .3 .4 .5 .6 .7 .8 .9Internal Data

DC T In

IDC T In

1- D DC T Out

1- D IDC T Out

2- D DC T In

2- D IDC T In

2- D DC T Out

2- D IDC T Out

DC T Out

IDC T Out

Page 16: L39: Low Power DCT/IDCT Processor  설계

5. VLSI 설계 및 구조5.4 Butterfly in Preprocessor(1)

B 15 B 14 B 13 B 12 B 11 B 1 2 B 11 B 1 0 B 9 B 8 B 7 B 6 B 5 B 4 B 3 B 2 B 1 B 0 A 15 A 14 A 13 A 12 A 11 A 1 0 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0

16 bit Carry Generate / Propagate UnitP 1 5 G 1 5 P 1 4 G 14 P 13 G 1 3 P 12 G 1 2 P11 G 1 1 P 10 G 1 0 P 9 G 9 P 8 G 8 P 7 G 7 P 6 G 6 P 5 G 5 P 4 G 4 P 3 G 3 P 2 G 2 P 1 G 1 P 0 G 0

P 3 G 3 P 2 G 2 P 1 G 1 P 0 G 0P*

4 bit BCLU*G*

C 2 C 1 C 0

P 3 G 3 P 2 G 2 P 1 G 1 P 0 G 0P *

4 bit BCLU*G *

C 2 C 1 C 0

P 3 G 3 P 2 G 2 P 1 G 1 P 0 G 0P *

4 bit BCLU*G *

C 2 C 1 C 0

P 3 G 3 P 2 G 2 P 1 G 1 P 0 G 0P *

4 bit BCLU*G *

C 2 C 1 C 0

P 3 G 3 P 2 G 2 P 1G 1 P 0G 0

4 bit CLA C IN

C 3 C 2 C 1 C 0

C OUT C 3C 7C 11

C IN

P 1 5 P 14 P 1 3 P 12 P 11 P 12 P 11 P 10 P9 P 8 P 7 P 6 P 5 P 4 P 3 P 2 P 1 P 0 C 14 C 1 3 C 12 C 11 C 10 C 9 C 8 C 7 C 6 C 5 C 4 C 3 C 2 C 1 C 0

16 bit Summ ation UnitS 1 5 S 14 S 1 3 S 1 2 S 1 1 S 10 S 9 S 8 S 7 S 6 S 5 S 4 S 3 S 2 S 1 S 0

C 0C 2 C 1C 6 C 5C 4C 8C 10 C 9C 12C 13C 14

Page 17: L39: Low Power DCT/IDCT Processor  설계

5. VLSI 설계 및 구조5.4 Butterfly in Preprocessor(2)

Page 18: L39: Low Power DCT/IDCT Processor  설계

5. VLSI 설계 및 구조5.5 Postprocessor 워드 단위 병렬 -직렬변환 , IDCT 버터플라이 , 라운딩 (rounding)

DC T

1- D DC T(1st) : 20 bits → 16 bits rounding

1- D DC T(2nd) : 20 bits → 12 bits rounding & c lipping (- 2048 ~ 2047)

Output : 12 bits

IDC T

1- D DC T(1st) : 20 bits → 16 bits rounding

1- D DC T(2nd) : 20 bits → 9 bits rounding & c lipping (- 256 ~ 255)

Output : 9 bits

Input : 9 bits Input : 12 bits

Page 19: L39: Low Power DCT/IDCT Processor  설계

6. Result6.1 2-D DCT/IDCT Synthesis Result

Preprocessor & Postprocessor (3324 & 7410 Gates) 16, 18, 20 bit Carry-look Adder

RAC (16word x 7 ROM & 36278 Gates) Distribute Arithmetic 방법을 사용 하지 않고 곱셈기 사용 (Synopsys Lib)

Transpose RAM 16word x 16bits 일반 RAM 4 개 사용

Total : 52,308 Gates

Page 20: L39: Low Power DCT/IDCT Processor  설계

6. Future Work

• 이번 프로젝트의 목적은 우선 구현이 목적이었으므로 Low power 와 Area 면에서 최적화를 시키지 못했다 .

• 행렬연산을 하는 RAC 부분을 곱셈기를 사용치 않고 Distribute Arithmetic 방법으로 구현을 한다면 36,278 개의 Gates 수가 최소한 반으로 줄 수 있을 것이다 .

• Preprocessor & Postprocessor 에 사용된 Carry-lookahead Adder 대신에 보다 Low power 와 소면적을 위해서 4bit Adder 와 Register로 하위 비트와 상위비트를 따로 계산을 하는 방법도 가능 할 것이다 .

Page 21: L39: Low Power DCT/IDCT Processor  설계

7. Reference[1] A.Makisetti and Jr A.N. Willson.”A 100 MHz 2-D 8x8 DCT/IDCT Processor for HDTV Applications”, IEEE Transactions on Circuit and Systems for Video Technology,5(2):158-165,1995

[2] Jordi Ribas-Corbera and Shawmin Lei, “Rate Control in DCT Video Coding for Low-Delay Communication”, IEEE Transactions on circuits and systems for video technology, vol.9,No.1,february 1999

[3] Seehyun Kim and Wonyong Sung, “Fixed-Piont Error Analysis and Word Length Optimization of 8x8 IDCT Architecture”, IEEE Transactions on circuits and systems for video technology, vol.8, No.8, December 1998

[4] Yun-Hui Fan, Vijay K. Madisetti, “On Fast Algorithms for Computing the Inverse Modified Discrete Cosine Transform”, IEEE signal processing letters, vol.6, No.3, march 1999

[5] Y.Arai, T.Agui and M.Nakajima, A Fast DCT-SQ Scheme for images, trans. Of the IEICE.E 71(11):1095(Nov.1988)

[6] M.T.SUN, L. WU and M.L.Liou, “A Concurrent Architecture for VLSI Implementation of Discrete Cosine Transform”, IEEE Transactions on circuits and systems, vol. Cas-34, No. 8, August 1987