improvement of fractal image coding using cuda

18
Presentation on Seminar Topic IMPROVEMENT OF FRACTAL IMAGE CODING USING CUDA By SAMEER THIGALE ROLL NO: T3171, DIV A Guided By PROF. HANUMANT PAWAR MAEER’s MIT COLLEGE OF ENGINEERING, PUNE, INDIA 1 Thursday, Octobe r 27, 2022

Upload: sameer-thigale

Post on 17-Jan-2015

125 views

Category:

Documents


5 download

DESCRIPTION

This is a seminar presentation on the topic of "Fractal Image coding using CUDA Architecture". It is based on an IEEE paper. Feel free to contact me to know more about the subject. It is very useful for TE students studying in Pune University as seminar topic

TRANSCRIPT

Page 1: Improvement of Fractal Image Coding using CUDA

1

Presentation on Seminar Topic

IMPROVEMENT OF FRACTAL IMAGE CODING USING

CUDA

By

SAMEER THIGALE

ROLL NO: T3171, DIV A

Guided ByPROF. HANUMANT PAWAR

MAEER’s MIT COLLEGE OF ENGINEERING, PUNE, INDIAApril 10, 2023

Page 2: Improvement of Fractal Image Coding using CUDA

2

A BRIEF OUTLINE

• CURRENT SCENARIO: INCREASE IN IMAGE SIZE RANGE TO ORDER OF TBs

• NEED FOR AN EFFECTIVE IMAGE COMPRESSION ALGORITHM

• THE FRACTAL CODING• IDEA OF PARALLELIZING THE ALGORITHM• A PROMISING ARCHITECTURE: CUDA

A Fractal that models the surface of a mountain

Page 3: Improvement of Fractal Image Coding using CUDA

3

AGENDA

• RECAP: FRACTALS• FRACTAL IMAGE CODING• THE PROBLEM STATEMENT• INTRODUCTION TO CUDA• PARALLEL FRACTAL IMAGE CODING• EXPERIMENTS AND ANALYSIS

Page 4: Improvement of Fractal Image Coding using CUDA

4

FRACTALS

• Fractal is a structure made up of similar forms and patterns that occur in many different sizes

• The Mandelbrot “SELF SIMILARITY” Property

A fractal that begins with an equilateral triangle and then replaces the middle third of every line segment with a pair of

line segments that form an equilateral "bump"

Page 5: Improvement of Fractal Image Coding using CUDA

5

FRACTAL IMAGE COMPRESSION• Relies on the fact that parts of an

image often resemble other parts of the same image

• Fractal compression stores only the self similar regions

• Algorithm:– Divide the image into blocks– Find the blocks that are almost similar– Store the similar blocks

Based on work by Jacquin

Page 6: Improvement of Fractal Image Coding using CUDA

6

FRACTAL CODES

• Describe the entire image in terms of it’s fractal properties

• The mathematical equations can then be used to recreate the entire image

• Similar to vectors where mathematical descriptions of objects are stored

30 ⁰

Why store all the pixels of this line??Store only the angle and the length of vector

This is Fractal code.

Page 7: Improvement of Fractal Image Coding using CUDA

7

AN EXAMPLE

• We store only the fractals that are similar• We store the fractal codes required for

generating the image

Bitmap image When stored using fractal coding algorithm:Fractal + code

For block [1][2], show fractal

For block [2][1], rotate fractal 90⁰ and display

For block [2][2], rotate fractal 180⁰ and display

+

Page 8: Improvement of Fractal Image Coding using CUDA

8

KEY POINTS OF THE ALGORITHM

• Compression is lossy• Size of the physical data used to store fractal

codes is much smaller than the original bitmap• Fractal images can be scaled up/down without

loss in details• Suited in applications where decompression is

required frequently than compression• Ex. Image databases and CD-ROM applications

Page 9: Improvement of Fractal Image Coding using CUDA

9

THE PROBLEM STATEMENT

• Encoding is extremely computationally intensive.

• Millions or billions of iterations are required to find the fractal patterns in the image

• Compression could take from a few seconds to even few hours!

Page 10: Improvement of Fractal Image Coding using CUDA

10

THE SOLUTION

• Why do sequential pattern search? When it can be done in parallel

• Do data dependency while compressing• Employ massive parallel computation using

GPUs

Block wise thread grouping

Page 11: Improvement of Fractal Image Coding using CUDA

11

Why GPU and NOT CPU?

• Lots of math units• GPUs are great for “data” parallelism

– CPUs are great for “task” parallelism• GPU optimized for higher arithmetic intensity

for parallel nature(floating Point)• APIs are available

– CUDA is one such!

Page 12: Improvement of Fractal Image Coding using CUDA

12

CUDA(SUPERCOMPUTING FOR THE MASSES)

• CUDA is a set of developing tools to create applications that will perform execution on GPU (Graphics Processing Unit).

• CUDA was developed by NVidia and as such can only run on NVidia GPUs of G8x series and up.

 

Page 13: Improvement of Fractal Image Coding using CUDA

13

WHY CUDA?

• CUDA provides ability to use high-level languages such as C

• GPUs contain much larger number of dedicated ALUs then CPUs.

• Full support for integer and bitwise operations.

• Compiled code will run directly on GPU.

Page 14: Improvement of Fractal Image Coding using CUDA

14

PARALLEL FRACTAL IMAGE CODING

• The fractal image coding algorithm consists of three two fold loops which include no data dependency

• So very easy to parallelize• By distributing loop

elements on multiple cores

Page 15: Improvement of Fractal Image Coding using CUDA

15

EXPERIMENTS AND OBSERVATIONS

NOTE: Charts prepared by the work of August Sodora on NVidia GeForce Tesla C1060 GPU

Page 16: Improvement of Fractal Image Coding using CUDA

16

CONTINUED..

NOTE: Charts prepared by the work of August Sodora on NVidia GeForce Tesla C1060 GPU

Page 17: Improvement of Fractal Image Coding using CUDA

17

CONCLUSION

• Our graphs show the performance gain for parallel fractal image coding.

• We achieve speedup of up to 171.98 using NVidia GeForce Tesla C1060 GPU

• Further Scope:– Parallel fractal coding can be applied to audio– Across Frequency Domain– Error simpler to compute using Fourier Analysis

Page 18: Improvement of Fractal Image Coding using CUDA

18

THANK YOU!