Parallelizing an image compression toolbox
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

Parallelizing an Image Compression Toolbox PowerPoint PPT Presentation


  • 67 Views
  • Uploaded on
  • Presentation posted in: General

Parallelizing an Image Compression Toolbox. MSE Project - Presentation 1 Hadassa Baker. Topics of Discussion. Introduction Overview Requirements Methodology Image Toolbox Description Project Plan Cost Estimation SQA Plan. Introduction.

Download Presentation

Parallelizing an Image Compression Toolbox

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Parallelizing an image compression toolbox

Parallelizing an Image Compression Toolbox

MSE Project - Presentation 1

Hadassa Baker


Topics of discussion

Topics of Discussion

  • Introduction

  • Overview

  • Requirements

  • Methodology

  • Image Toolbox Description

  • Project Plan

  • Cost Estimation

  • SQA Plan


Introduction

Introduction

  • The use of digital motion pictures is gaining much popularity in various industries, such as film production companies, museums, etc.

  • Digital image files are used to create digital motion pictures.

  • Digital image files are generally large and require compression to be used effectively.

  • Image compression processes are generally computationally intensive


Introduction1

Introduction

  • To process 1hr of high definition video:

  • 1 frame = 1920 pixels wide, 1080 pixels high, 3 components/pixel (RGB) = 6220.8 KB

  • In general 24 frames/second

  • Total number of frames per hour = 24 fr/s * 60 s/min * 60 min/hr = 86400

  • Total data size = 8640*6220800 = 537477120000 B = 537477 MB/hr

  • Need to speed up compression process


Overview

Overview

  • Purpose

    • To explore the use of parallel programming techniques to speed up a computationally intensive image compression and decompression process


Overview1

Overview

  • Goal

    • To rewrite a sequential image compression toolbox source code into a parallel program in an effort to speed up the software

    • Analyze factors that affect execution speed – such as number of processors

    • Look for general trends


Requirement specification

Requirement Specification

  • The image toolbox is a sequential command-line program that takes a RAW image file as input, encodes it, and outputs a compressed encoded file .

  • On the reverse, the image compression toolbox takes an encoded file as input, decodes it, and outputs a RAW image file


Main requirements

Main Requirements

  • The encoding and decoding processes of the image toolbox will be rewritten into a parallel program

  • The RAW image reader and writer will be replaced with a Tiff image reader and writer

  • Assessment will be made on the usefulness of parallel programming in speeding up the image compression toolbox


Use cases

Use Cases

  • Use Case 1 : Compressing an Image

    • Description – The user wants to compress a tiff file.

    • Scenario – The user runs the image compression console program to compress a tiff image. The user provides the name and path of a tiff image file as program input. The user provides a name and path for the compressed output file. The “cmp” extension is used for the compressed file.

    • Specific Requirements-

      • Correctness – The compressed output file produced by the parallel program should be identical to the compressed output file produced with the sequential program.


Use cases1

Use Cases

  • Use Case 2 : Decompressing an Image

    • Description – The user wants to decompress a compressed file into a tiff image file.

    • Scenario – The user runs the image compression console program to decompress a cmp file and write it out to a tiff file. The user provides the name and path of a compressed file as program input. The user also provides a name and path for the tiff file.

    • Specific Requirements-

      • Correctness – The output tiff file produced by the parallel program should be exactly the same as the output tiff file produced with the sequential program.


Methodology

Methodology

  • Described in “Designing and Building Parallel Programs”, by Ian Foster

  • Structures the design process as four distinct stages :partitioning, communication, agglomeration, and mapping.

    • Partitioning– the computation that should be operated on the data and the data to be operated on are decomposed into smaller takes


Methodology1

Methodology

  • Communication – communication structures between tasks are defined for proper execution of program

  • Agglomeration – the outcome of the partitioning and the communication stages are evaluated

  • Mapping – each task is mapped to a processor in such a way that communication between tasks is decreased and execution is speeded up.


Performance modeling

Performance Modeling

  • Goal

    • Develop mathematical expressions that specify certain metrics as a function of problem size, number of processors, number of tasks, and other important characteristics.

  • Performance models for:

    • Execution time –the time that elapses from when the first processor starts executing on the problem to when the last processor completes execution.

    • Parallel scalability - how algorithm performance varies with parameters such as problem size, processor count, number of tasks, and message startup cost.


Image compression toolbox

Image Compression Toolbox

  • A wavelet based image compression tool, written by Satish Kumar.

  • The source code was obtained from the internet.

  • The program is written in C++

  • Permission is granted by the author to use the software for research purposes.

  • Contains a collection of functions that are commonly used in wavelet based image compression techniques.


Image compression

Wavelet Transformation

Optimal Bit Allocation

Quantization

Entropy Encoding

Image Compression

  • RAW image file read

  • Four steps to the compression process:


Image compression toolbox1

Image Compression Toolbox

  • Wavelet transformation –

    • Low frequency components of the data are separated from high frequency components of the data.

    • On an image plane the low frequency components represent the base of the image, where small variation between neighboring coefficient exists. High frequency components represent areas where sharper differences between components exist.

    • High pass and low pass filters are used on the image data first horizontally and then vertically to divide the frequency into two.


Image compression toolbox2

Image Compression Toolbox


Image compression toolbox3

Image Compression Toolbox

  • Optimal Bit Allocation

    • Each class is allocated a portion of the total bit budget, such that the compressed image has the minimum possible distortion.

    • The aim of bit allocation using rate-distortion techniques is meeting the requirement of overflow prevention while maximizing the image/video quality.


Image compression toolbox4

Image Compression Toolbox

  • Quantization

    • The division of a quantity into discrete number of small parts, that are integral multiples of a common quantity.

    • A scalar and uniform quantizer is used. Uniform where the levels are spaced equally, and scalar where each data is processed individually.


Image compression toolbox5

Image Compression Toolbox

  • Entropy Encoding

    • Arithmetic encoding method used.

    • Arithmetic coding takes a stream of input symbols and replaces it with a single number less than 1 and greater than 0.

    • The arithmetic coding process requires each input symbol to be encoded sequentially.


Project plan

Project Plan

  • Initial Phase

    • Develop overall requirements

    • Documentation

      • Vision document

      • Project Plan

      • Image Toolbox Description,

      • SQA Plan

    • Milestone - Presentation 1 - Get approval from committee and/or incorporate changes and suggestions


Project plan1

Project Plan

  • Architecture Phase

    • Design architecture of the parallel program for the image toolbox

    • Documentation

      • Algorithm Design

      • Parallel program design analysis

      • Refine Vision document, Project Plan and SQA Plan

      • Test Plan

    • Milestone - Presentation 2 - Get approval from committee and/or incorporate changes and suggestions.


Project plan2

Project Plan

  • Implementation phase

    • Implement parallel program

    • Perform testing

    • Documentation

      •  Well documented source code

      •  Test report

      •  Test evaluation report

    • Milestone - Presentation 3 - Get approval from committee and/or incorporate changes and suggestions.


Project plan3

Project Plan

  • Cost Estimation

    • COCOMO - Organic model – uncomplicated

      • Person Months = 2.4 * KDSI^1.05

      • KDSI – Project size in thousands of delivered source instructions.

      • Function point analysis best works with business type applications. Therefore, the size of the image compression toolbox is used as an estimate

      • Approximately 1300 lines of source code in the image compression toolkit.

      • Person month = 3.2

      • DURATION = 2.5 * EFFORT^0.38 = 3.5 month


Sqa plan

SQA Plan

  • Tools

    • Microsoft C++ 6.0

    • Microsoft Visio

    • Microsoft Word

  • Deliverables

    • Vision Document

    • Project Plan Document

    • SQA Plan Document

    • Image Toolbox Description


Sqa plan1

SQA Plan

  • Deliverables (cont)

    • Architecture Design Document

    • Test Plan Document

    • Image Toolbox sequential source code.

    • Image Toolbox parallel source code.

    • Test Report Document

    • Test Evaluation Report Document


  • Login