Download presentation
Presentation is loading. Please wait.
Published byStephanie Coyle Modified over 11 years ago
1
Copyright © 2003 Texas Instruments. All rights reserved. DSP C5000 Chapter 18 Image Compression and Hardware Extensions
2
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 2 Image Compression Discrete Cosine Transform (DCT) based compression Discrete Cosine Transform (DCT) based compression Still image: JPEG. Still image: JPEG. Remove spatial redundancy Remove spatial redundancy Video: H263, MPEG4. Video: H263, MPEG4. Remove spatial redundancy Remove spatial redundancy Remove temporal redundancy Remove temporal redundancy
3
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 3 JPEG Encoder Image is split into 8x8 pixel block that are processed. Image is split into 8x8 pixel block that are processed. DCT is applied on input block to obtain the frequency data. DCT is applied on input block to obtain the frequency data. Values are read from low to high frequency thanks to zig-zag addressing. Values are read from low to high frequency thanks to zig-zag addressing. Data are then quantized according to a quality factor. Data are then quantized according to a quality factor. This output is then run length and entropy coded. This output is then run length and entropy coded.
4
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 4 JPEG Decoder Data are entropy decoded. Data are entropy decoded. They are dequantized according to a quality factor. They are dequantized according to a quality factor. Zig-zag addressing to re-order the data pixel by pixel. Zig-zag addressing to re-order the data pixel by pixel. Inverse DCT to recover spatial data. Inverse DCT to recover spatial data.
5
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 5 H263 and MPEG4 encoder Same basic building blocks Same basic building blocks Hardware accelerator provided by C5509/10
6
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 6 H263 and MPEG4 Decoder Same basic building blocks Same basic building blocks Hardware accelerator provided by C5509/10
7
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 7 Hardware Extensions C5509 and C5510 provide H/W extensions for video compression: C5509 and C5510 provide H/W extensions for video compression: DCT, IDCT DCT, IDCT Pixel interpolation Pixel interpolation Motion estimation Motion estimation Hardware extensions are embedded co- processors: Hardware extensions are embedded co- processors: Access to ACx, DARAM and SARAM. Access to ACx, DARAM and SARAM. Provide video codec with less than half of the processing bandwidth. Provide video codec with less than half of the processing bandwidth.
8
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 8 DCT H/W Extension 1 of 5 Allows 4x4 and 8x8 pixels DCT/IDCT computation: Allows 4x4 and 8x8 pixels DCT/IDCT computation: 2D DCT 2D DCT 2D IDCT 2D IDCT
9
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 9 DCT H/W Extension 2 of 5 Basic steps to complete a 2D DCT/IDCT: Basic steps to complete a 2D DCT/IDCT: Input Data: macro block (4x4 or 8x8) is read in (DCT). DCT coefficient matrix is read in (IDCT). Input Data: macro block (4x4 or 8x8) is read in (DCT). DCT coefficient matrix is read in (IDCT). Column DCT/IDCT process: output to temporary registers that will be transposed for Row processing. Column DCT/IDCT process: output to temporary registers that will be transposed for Row processing. Row DCT/IDCT process: data read from temporary register which are processed column by column. Row DCT/IDCT process: data read from temporary register which are processed column by column.
10
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 10 DCT H/W Extension 3 of 5
11
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 11 DCT H/W Extension 4 of 5 Instruction set: Instruction set: Load+computation+transfer to accumulator: Load+computation+transfer to accumulator:ACy=copr(k8,ACx,Xmem,Ymem) Computation+transfer to accumulator+memory write: Computation+transfer to accumulator+memory write:ACy=copr(k8,ACx,ACy),Lmem=Acz Special instructions: Special instructions:ACy=copr(k8,ACx,ACy) Refer to application note for details and listings of macros realizing complete 8x8 DCT/IDCT. Refer to application note for details and listings of macros realizing complete 8x8 DCT/IDCT.application noteapplication note
12
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 12 DCT H/W Extension 5 of 5 H/W extensions can be used through C- callable functions provided by IMLIB H/W extensions can be used through C- callable functions provided by IMLIBIMLIB
13
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 13 Debug To look at the internal register of the hardware extension …To look at the internal register of the hardware extension … DCT and IDCT Hardware accelerator registers
14
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 14 Tutorial DCT/IDCT with IMLIB Describe step by step how to use H/W extensions with IMLIB. Describe step by step how to use H/W extensions with IMLIB. Requires installation of IMLIB before continuing. Requires installation of IMLIB before continuing.IMLIB Requires special memory configuration to obtain optimum performance. Requires special memory configuration to obtain optimum performance. CCS allows display of image contained in DSP memory. CCS allows display of image contained in DSP memory.
15
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 15 Memory Configuration dct.cmd hwdct.cdb
16
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 16 Display Input Image 1 of 2 Load hwdct.pjt Load hwdct.pjt Build and load application Build and load application Input image is « goldhill » 128x128 which is included by the header file ( #include «imagesample.h» ) at the address goldhill Input image is « goldhill » 128x128 which is included by the header file ( #include «imagesample.h» ) at the address goldhill To have the internal memory initialized use Debug>go to main command. To have the internal memory initialized use Debug>go to main command. You are now ready to display the input image using view>Graph>image You are now ready to display the input image using view>Graph>image
17
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 17 Display Input Image 2 of 2
18
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 18 In place DCT Computation
19
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 19 Actual dct.c Program
20
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 20 Output Display and Initialization
21
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 21 Output Buffer Update
22
Copyright © 2003 Texas Instruments. All rights reserved. ESIEE, Slide 22 References JPEG for digital panel (SPRA664) JPEG for digital panel (SPRA664)SPRA664 TMS320C55x Hardware extensions for image/video applications - Programmers reference (SPRU098) TMS320C55x Hardware extensions for image/video applications - Programmers reference (SPRU098)SPRU098 TMS320C55x image/video processing library programmers reference (SPRU037) TMS320C55x image/video processing library programmers reference (SPRU037)SPRU037
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.