SlideShare a Scribd company logo
1 of 45
Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A A parallel architecture for image compression (2004) An FYP presentation by: Jesu Joseph, Shibu Menon
Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A ,[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel architecture for image compression Introduction  | Algorithm | Architecture | Results | Conclusion | Q&A Introduction
Parallel architecture for image compression Introduction  | Algorithm | Architecture | Results | Conclusion | Q&A Why image compression? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel architecture for image compression Introduction  | Algorithm | Architecture | Results | Conclusion | Q&A Artificial neural networks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel architecture for image compression Introduction  | Algorithm | Architecture | Results | Conclusion | Q&A Artificial neural networks Ease of upgrade Self correction Self improvement Self learning
Parallel architecture for image compression Introduction  | Algorithm | Architecture | Results | Conclusion | Q&A Our Project ,[object Object],[object Object],[object Object],[object Object]
Parallel architecture for image compression Introduction  | Algorithm | Architecture | Results | Conclusion | Q&A Our Project ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel architecture for image compression Introduction  | Algorithm | Architecture | Results | Conclusion | Q&A Our Project ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel architecture for image compression Introduction  | Algorithm | Architecture | Results | Conclusion | Q&A Basics of image compression (R,G,B)  = (20,48,206) 10 = (14,30,CE) 16 = (00001110, 00110000, 11001110) 2 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel architecture for image compression Introduction  | Algorithm | Architecture | Results | Conclusion | Q&A Our design Color chooser Encoder About 170 different colors 16 colors, each represented by a 4-bit number Compressed image (FF, FF, FF) 1111 … … (40, 68, 90) 0011 (39,0A, 9D) 0010 (10,10,A3) 0001 (00,00,00) 0000
Parallel architecture for image compression Introduction  | Algorithm | Architecture | Results | Conclusion | Q&A Our design Input pixels Learn the image Create the codebook Improve the code book Encode the image Code book Compressed image Decode the image (FF, FF, FF) 1111 … … (40, 68, 90) 0011 (39,0A, 9D) 0010 (10,10,A3) 0001 (00,00,00) 0000
Parallel architecture for image compression Introduction |  Algorithm  | Architecture | Results | Conclusion | Q&A Algorithm
ALGORITHM ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Parallel architecture for image compression Introduction |  Algorithm  | Architecture | Results | Conclusion | Q&A ALGORITHM KOHONEN  ALGORITHM MODIFICATIONS 7-BIT ALGORITHM 8-BIT ALGORITHM FUNCTIONS
OVERALL ALGORITHM Kohonen Algorithm IMAGE Learning Encoding Encoder Compressed Image Pixel by pixel encoding LUT +LUT DECOMPRESSION MSB PLANE Parallel architecture for image compression Introduction |  Algorithm  | Architecture | Results | Conclusion | Q&A Weight 16 Neuron 16 … .. … .. Weight2 Neuron 2 Weight 1 Neuron 1 Data 16 Address 16 … .. … .. Data 2 Address 2 Data 1 Address 1
KOHONEN ALGORITHM ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Parallel architecture for image compression Introduction |  Algorithm  | Architecture | Results | Conclusion | Q&A RED GREEN BLUE w1 w2 Neuron1 Neuron 2 x Input Training Vector
STEPS STEP 1: Find closest Neuron (neuron c) ||X(t) – W c (t)|| = min{||X(t)-W i (t)||} STEP 2: Update Weight of the winning Neuron and the Neurons in the topological neighborhood. Wi(t+1) = Wi(t) +  α (t).{X(t) – W(t)} For i  Є  N c (t)    Neighborhood Iterate STEP1 and STEP2 Parallel architecture for image compression Introduction |  Algorithm  | Architecture | Results | Conclusion | Q&A
ALGORITHM MODIFICATION ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Parallel architecture for image compression Introduction |  Algorithm  | Architecture | Results | Conclusion | Q&A
MODIFIED ALGORITHM ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Initialization based on Gray scale initialization (r = g = b) Manhattan Distance used instead of Euclidean Distance. It denotes the absolute distance of the neuron from input vector. Minimum Distance neuron can be chosen using binary/recursive searching  Usual Kohonen Algorithm : Function f(t) => e.g. d = d0 ( 1- t/T ) Modified : Expanding Sphere. ,[object Object],[object Object],[object Object],STEP5 :  Update Neuron weights Wi(t+1) = Wi(t) +  α (t).{X(t) – W(t)} Learning rate  α   Є  {1/2, 1/4, 1/8, 1/16…} ,[object Object],[object Object],Parallel architecture for image compression Introduction |  Algorithm  | Architecture | Results | Conclusion | Q&A MODIFICATIONS Neighbor
7-Bit Algorithm Parallel architecture for image compression Introduction |  Algorithm  | Architecture | Results | Conclusion | Q&A (0000_0001) (1111_1111) (000_0001)
7-BIT vs. 8-BIT ALGORITHM Parallel architecture for image compression Introduction |  Algorithm  | Architecture | Results | Conclusion | Q&A ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],7-Bit Algorithm 8-Bit Algorithm
ARCHITECTURE
SYSTEM ARCHITECTURE BROADCAST ARCHITECTURE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],NEURON STRUCTURE ,[object Object],[object Object],Parallel architecture for image compression Introduction | Algorithm |  Architecture  | Results | Conclusion | Q&A ARHITECTURE NETWORK STRUCTURE NEURON STRUCTURE GLOBAL CONTROLLER ARCHITECTURAL NOVELTY ALGORITHM – ARCHITECTURE TRANSLATION Neuron 15 Neuron 13 Neuron 11 Neuron 9 Neuron 7 Neuron 5 Neuron 3 Neuron 1 Neuron 14 Neuron 12 Neuron 10 Neuron 8 Neuron 6 Neuron 4 Neuron 2 Neuron 16 GLOBAL CONTROLLER GLOBAL   CONTROLLER NEURON 1 NEURON 2 NEURON 3 NEURON 5 NEURON 7 NEURON 11 NEURON 13 NEURON 9 NEURON 15 NEURON 16 NEURON 14 NEURON 12 NEURON 10 NEURON 8 NEURON 6 NEURON 4
ALGORITHM TO ARCHITECTURE ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Initialization: Add W R W G W B 0 00 00 00 1 08 08 08 2 10 10 10 … … … … 15 78 78 78 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Neuron address w R (7) T 1 (9) w G (7) w B   (7) T 2 (9) T 2R (7) T 2G (7) T 2B (7) T 2RC (1) T 2GC (1) T 2BC (1) FC  (18) Distance from the winning neuron Distance from the input pixel Weight vectors Frequency counter Registers used in the architecture ,[object Object],[object Object],Parallel architecture for image compression Introduction | Algorithm |  Architecture  | Results | Conclusion | Q&A
ARCHITECTURAL NOVELTIES Parallel architecture for image compression Introduction | Algorithm |  Architecture  | Results | Conclusion | Q&A Implementation of 7-bit learning: 7-bit learning, mapping of pixels to an octal space and encoding the MSB plane with the image, are new theoretical ideas that we implemented on hardware. This mode should theoretically create images with a better quality than those encoded using 8-bit mode. This is because the neurons are more closely packed in a smaller space, hence creating a better response on the structure from each pixel. Implementation of the 8-bit and the 7-bit Learning Algorithm: The same hardware can process an image in both 7-bit and 8-bit modes. A single push-button switch on the FPGA board sets the mode for a cycle. This is useful because certain images give a better output on 7-bit mode than on 8-bit or vice versa and they can be compared for later studies. This is done, keeping in mind the need for future upgrading of the functionalities. A module can be added to the design that calculates mean-square error for both 7-bit and 8-bit images and the better one can be selected.
ARCHITECTURAL NOVELTIES Parallel architecture for image compression Introduction | Algorithm |  Architecture  | Results | Conclusion | Q&A Integration of encoding hardware to the learning hardware: The integration of encoding and learning hardware ensures faster compression and reduces the hardware overhead. This is done, keeping in mind the future practical application of the hardware for real-time video compression, rather than just for stand-alone images.  Implementation of the variable learning rate: Variable learning rate (using learning rates of 1/2,1/4,…etc.) is a novel feature of this arhitecture. This ensures better updating of neighbors based on its distance from the winning neuron, rather than a fixed updating. The neighbors are updated based on 5 ranges of distances from the winner and the updating distances calculated through theoretical calculations.
ARCHITECTURAL NOVELTIES Parallel architecture for image compression Introduction | Algorithm |  Architecture  | Results | Conclusion | Q&A Implementation of the learning rate depending on the frequency count: The frequency count value is calculated so that all neurons get equal chance of being the winner. At the same time, the algorithm ensures that a neuron that has been a winner the most number of the time doesn’t get updated as much as the ones that are not as lucky. This is not seen in any other similar algorithms. Implementation of the Neighbor updating: Neighbor-updating together with the winner-updating is another novel feature of our algorithm. This makes the design complicated, but the output quality is considerably improved compared to other architecture.
ARCHITECTURAL NOVELTIES Parallel architecture for image compression Introduction | Algorithm |  Architecture  | Results | Conclusion | Q&A ,[object Object],[object Object],[object Object],[object Object]
Parallel architecture for image compression Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A Results
Parallel architecture for image compression Testing strategy Data verification Result verification Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A
Parallel architecture for image compression Testing strategy – data verification Data verification ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Modelsim TEST.V TOP.V  (Top-level synthesizable module) NEURON_ARRAY GLOBAL_CONTROLLER ENCODER TEST_INPUT Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A
Parallel architecture for image compression Testing strategy Data verification Result verification Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A
Parallel architecture for image compression Testing strategy – Result verification C Program Configuration file Decode.v Encoded_image.dat Decoded_image.dat Output.tiff input.tiff Config.dat Result verification Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A TOP.V  (Top-level synthesizable module) NEURON_ARRAY GLOBAL_CONTROLLER ENCODER
Parallel architecture for image compression Testing strategy – Result verification Result verification Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel architecture for image compression Testing strategy – Result verification Mean square error =  Σ  [(R o -R c ) 2 +  (G o -G c ) 2 +(B o -B c ) 2 ] 2963.244129 2780.932903 Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A
Parallel architecture for image compression Screen captures Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A
Parallel architecture for image compression Synthesis Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A Technology Libraries Verilog Code Constraints Synthesis tool Prototype Model Schematic optimized net-list In-signal file Out-signal file Xilinx ISE Series 4.1i
Parallel architecture for image compression Synthesis Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A ================== Chip top-optimized ================== Summary Information: -------------------- Type: Optimized implementation Source: top, up to date Status: 0 errors, 0 warnings, 0 messages Export: exported after last optimization Chip create time: 0.000000s Chip optimize time: 598.734000s FSM synthesis: ONEHOT Target Information: ------------------- Vendor: Xilinx Family: VIRTEX Device: V800HQ240 Speed: -4 Chip Parameters: ---------------- Optimize for: Speed Optimization effort: Low Frequency: 50 MHz Is module: No Keep io pads: No Number of flip-flops: 3129 Number of latches: 0
Parallel architecture for image compression FPGA Implementation Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Parallel architecture for image compression FPGA Implementation Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A Upload configuration files and image to the on-board memory Upload the FPGA bit file to the CPLD BAR LED 1 glows - FPGA is configured Press Push Button 1 (START) to start the learning process BAR LED 2 glows – 2 loops completed BAR LED 3 glows – 4 loops completed BAR LED 4 glows – 6 loops completed BAR LED 5 glows – 10 loops completed BAR LED 6 glows – Encoding completed Download the image and convert it to tiff format
Parallel architecture for image compression FPGA Implementation Introduction | Algorithm | Architecture |  Results  | Conclusion | Q&A
Parallel architecture for image compression Introduction | Algorithm | Architecture | Results |  Conclusion  | Q&A Conclusion
Parallel architecture for image compression Conclusion 1. 7-bit process better than 8-bit process Introduction | Algorithm | Architecture | Results |  Conclusion  | Q&A 2. Suitable for real-time encoding and streaming of video images (About 12 seconds at 5MHz) 3. Use of frequency count register gives better images 4. More the loops, better the image (8-bit, beyond 5 loops). Similar to human learning
Parallel architecture for image compression Recommendation 1. Algorithm can be modified to improve learning time Introduction | Algorithm | Architecture | Results |  Conclusion  | Q&A 2. Real time video compression with 2 parallel learning chips 3. Both 7-bit and 8-bit in the same hardware 4. MSB plane compression
Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion |  Q&A Q & A

More Related Content

What's hot

FPGA Implementation of FIR Filter using Various Algorithms: A Retrospective
FPGA Implementation of FIR Filter using Various Algorithms: A RetrospectiveFPGA Implementation of FIR Filter using Various Algorithms: A Retrospective
FPGA Implementation of FIR Filter using Various Algorithms: A RetrospectiveIJORCS
 
MEDIAN BASED PARALLEL STEERING KERNEL REGRESSION FOR IMAGE RECONSTRUCTION
MEDIAN BASED PARALLEL STEERING KERNEL REGRESSION FOR IMAGE RECONSTRUCTIONMEDIAN BASED PARALLEL STEERING KERNEL REGRESSION FOR IMAGE RECONSTRUCTION
MEDIAN BASED PARALLEL STEERING KERNEL REGRESSION FOR IMAGE RECONSTRUCTIONcsandit
 
Median based parallel steering kernel regression for image reconstruction
Median based parallel steering kernel regression for image reconstructionMedian based parallel steering kernel regression for image reconstruction
Median based parallel steering kernel regression for image reconstructioncsandit
 
D0325016021
D0325016021D0325016021
D0325016021theijes
 
Matlab for Electrical Engineers
Matlab for Electrical EngineersMatlab for Electrical Engineers
Matlab for Electrical EngineersManish Joshi
 
SQUASHED JPEG IMAGE COMPRESSION VIA SPARSE MATRIX
SQUASHED JPEG IMAGE COMPRESSION VIA SPARSE MATRIXSQUASHED JPEG IMAGE COMPRESSION VIA SPARSE MATRIX
SQUASHED JPEG IMAGE COMPRESSION VIA SPARSE MATRIXijcsit
 
IRJET-ASIC Implementation for SOBEL Accelerator
IRJET-ASIC Implementation for SOBEL AcceleratorIRJET-ASIC Implementation for SOBEL Accelerator
IRJET-ASIC Implementation for SOBEL AcceleratorIRJET Journal
 
論文紹介 Combining Model-Based and Model-Free Updates for Trajectory-Centric Rein...
論文紹介 Combining Model-Based and Model-Free Updates for Trajectory-Centric Rein...論文紹介 Combining Model-Based and Model-Free Updates for Trajectory-Centric Rein...
論文紹介 Combining Model-Based and Model-Free Updates for Trajectory-Centric Rein...Kusano Hitoshi
 
Compression: Images (JPEG)
Compression: Images (JPEG)Compression: Images (JPEG)
Compression: Images (JPEG)danishrafiq
 

What's hot (17)

JPEG
JPEGJPEG
JPEG
 
Unsupervised learning networks
Unsupervised learning networksUnsupervised learning networks
Unsupervised learning networks
 
FPGA Implementation of FIR Filter using Various Algorithms: A Retrospective
FPGA Implementation of FIR Filter using Various Algorithms: A RetrospectiveFPGA Implementation of FIR Filter using Various Algorithms: A Retrospective
FPGA Implementation of FIR Filter using Various Algorithms: A Retrospective
 
Jpeg standards
Jpeg   standardsJpeg   standards
Jpeg standards
 
Multimedia Object - Video
Multimedia Object - VideoMultimedia Object - Video
Multimedia Object - Video
 
JPEG
JPEGJPEG
JPEG
 
MEDIAN BASED PARALLEL STEERING KERNEL REGRESSION FOR IMAGE RECONSTRUCTION
MEDIAN BASED PARALLEL STEERING KERNEL REGRESSION FOR IMAGE RECONSTRUCTIONMEDIAN BASED PARALLEL STEERING KERNEL REGRESSION FOR IMAGE RECONSTRUCTION
MEDIAN BASED PARALLEL STEERING KERNEL REGRESSION FOR IMAGE RECONSTRUCTION
 
Median based parallel steering kernel regression for image reconstruction
Median based parallel steering kernel regression for image reconstructionMedian based parallel steering kernel regression for image reconstruction
Median based parallel steering kernel regression for image reconstruction
 
D0325016021
D0325016021D0325016021
D0325016021
 
Matlab for Electrical Engineers
Matlab for Electrical EngineersMatlab for Electrical Engineers
Matlab for Electrical Engineers
 
An35225228
An35225228An35225228
An35225228
 
SQUASHED JPEG IMAGE COMPRESSION VIA SPARSE MATRIX
SQUASHED JPEG IMAGE COMPRESSION VIA SPARSE MATRIXSQUASHED JPEG IMAGE COMPRESSION VIA SPARSE MATRIX
SQUASHED JPEG IMAGE COMPRESSION VIA SPARSE MATRIX
 
IRJET-ASIC Implementation for SOBEL Accelerator
IRJET-ASIC Implementation for SOBEL AcceleratorIRJET-ASIC Implementation for SOBEL Accelerator
IRJET-ASIC Implementation for SOBEL Accelerator
 
論文紹介 Combining Model-Based and Model-Free Updates for Trajectory-Centric Rein...
論文紹介 Combining Model-Based and Model-Free Updates for Trajectory-Centric Rein...論文紹介 Combining Model-Based and Model-Free Updates for Trajectory-Centric Rein...
論文紹介 Combining Model-Based and Model-Free Updates for Trajectory-Centric Rein...
 
Compression: Images (JPEG)
Compression: Images (JPEG)Compression: Images (JPEG)
Compression: Images (JPEG)
 
Image compression and jpeg
Image compression and jpegImage compression and jpeg
Image compression and jpeg
 
Matlab Working With Images
Matlab Working With ImagesMatlab Working With Images
Matlab Working With Images
 

Viewers also liked

Project presentation image compression by manish myst, ssgbcoet
Project presentation image compression by manish myst, ssgbcoetProject presentation image compression by manish myst, ssgbcoet
Project presentation image compression by manish myst, ssgbcoetManish Myst
 
SOC Application Studies: Image Compression
SOC Application Studies: Image CompressionSOC Application Studies: Image Compression
SOC Application Studies: Image CompressionA B Shinde
 
IMAGE COMPRESSION AND DECOMPRESSION SYSTEM
IMAGE COMPRESSION AND DECOMPRESSION SYSTEMIMAGE COMPRESSION AND DECOMPRESSION SYSTEM
IMAGE COMPRESSION AND DECOMPRESSION SYSTEMVishesh Banga
 
How to give a scientific research presentation
How to give a scientific research presentationHow to give a scientific research presentation
How to give a scientific research presentationKhon Kaen University
 
Seminar Report on image compression
Seminar Report on image compressionSeminar Report on image compression
Seminar Report on image compressionPradip Kumar
 
image compression using matlab project report
image compression  using matlab project reportimage compression  using matlab project report
image compression using matlab project reportkgaurav113
 
3 power point synopsis writing
3 power point synopsis writing3 power point synopsis writing
3 power point synopsis writingmichb41
 
Wavelet based image compression technique
Wavelet based image compression techniqueWavelet based image compression technique
Wavelet based image compression techniquePriyanka Pachori
 
Sample project-synopsis
Sample project-synopsisSample project-synopsis
Sample project-synopsisSheshank Priya
 

Viewers also liked (15)

Project presentation image compression by manish myst, ssgbcoet
Project presentation image compression by manish myst, ssgbcoetProject presentation image compression by manish myst, ssgbcoet
Project presentation image compression by manish myst, ssgbcoet
 
SOC Application Studies: Image Compression
SOC Application Studies: Image CompressionSOC Application Studies: Image Compression
SOC Application Studies: Image Compression
 
IMAGE COMPRESSION AND DECOMPRESSION SYSTEM
IMAGE COMPRESSION AND DECOMPRESSION SYSTEMIMAGE COMPRESSION AND DECOMPRESSION SYSTEM
IMAGE COMPRESSION AND DECOMPRESSION SYSTEM
 
How to give a scientific research presentation
How to give a scientific research presentationHow to give a scientific research presentation
How to give a scientific research presentation
 
Seminar Report on image compression
Seminar Report on image compressionSeminar Report on image compression
Seminar Report on image compression
 
image compression using matlab project report
image compression  using matlab project reportimage compression  using matlab project report
image compression using matlab project report
 
JPEG Image Compression
JPEG Image CompressionJPEG Image Compression
JPEG Image Compression
 
3 power point synopsis writing
3 power point synopsis writing3 power point synopsis writing
3 power point synopsis writing
 
Image compression
Image compressionImage compression
Image compression
 
image compression ppt
image compression pptimage compression ppt
image compression ppt
 
SYNOPSIS WRITING
SYNOPSIS WRITINGSYNOPSIS WRITING
SYNOPSIS WRITING
 
Format Of Synopsis
Format Of SynopsisFormat Of Synopsis
Format Of Synopsis
 
Medical Image Compression
Medical Image CompressionMedical Image Compression
Medical Image Compression
 
Wavelet based image compression technique
Wavelet based image compression techniqueWavelet based image compression technique
Wavelet based image compression technique
 
Sample project-synopsis
Sample project-synopsisSample project-synopsis
Sample project-synopsis
 

Similar to B Eng Final Year Project Presentation

Build Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured LightingBuild Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured LightingDouglas Lanman
 
FAST AND EFFICIENT IMAGE COMPRESSION BASED ON PARALLEL COMPUTING USING MATLAB
FAST AND EFFICIENT IMAGE COMPRESSION BASED ON PARALLEL COMPUTING USING MATLABFAST AND EFFICIENT IMAGE COMPRESSION BASED ON PARALLEL COMPUTING USING MATLAB
FAST AND EFFICIENT IMAGE COMPRESSION BASED ON PARALLEL COMPUTING USING MATLABJournal For Research
 
Fundamentals of Image processing.ppt
Fundamentals of Image processing.pptFundamentals of Image processing.ppt
Fundamentals of Image processing.pptssuser9a00df
 
09 accelerators
09 accelerators09 accelerators
09 acceleratorsMurali M
 
CyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdfCyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdfMohammadAzreeYahaya
 
Multi-core GPU – Fast parallel SAR image generation
Multi-core GPU – Fast parallel SAR image generationMulti-core GPU – Fast parallel SAR image generation
Multi-core GPU – Fast parallel SAR image generationMahesh Khadatare
 
Kassem2009
Kassem2009Kassem2009
Kassem2009lazchi
 
Canny Edge Detection Algorithm on FPGA
Canny Edge Detection Algorithm on FPGA Canny Edge Detection Algorithm on FPGA
Canny Edge Detection Algorithm on FPGA IOSR Journals
 
Canny Edge Detection Algorithm on FPGA
Canny Edge Detection Algorithm on FPGA Canny Edge Detection Algorithm on FPGA
Canny Edge Detection Algorithm on FPGA IOSR Journals
 
Multilayer Neuronal network hardware implementation
Multilayer Neuronal network hardware implementation Multilayer Neuronal network hardware implementation
Multilayer Neuronal network hardware implementation Nabil Chouba
 
NeuralProcessingofGeneralPurposeApproximatePrograms
NeuralProcessingofGeneralPurposeApproximateProgramsNeuralProcessingofGeneralPurposeApproximatePrograms
NeuralProcessingofGeneralPurposeApproximateProgramsMohid Nabil
 
Towards neuralprocessingofgeneralpurposeapproximateprograms
Towards neuralprocessingofgeneralpurposeapproximateprogramsTowards neuralprocessingofgeneralpurposeapproximateprograms
Towards neuralprocessingofgeneralpurposeapproximateprogramsParidha Saxena
 
ASIC Implementation for SOBEL Accelerator
ASIC Implementation for SOBEL AcceleratorASIC Implementation for SOBEL Accelerator
ASIC Implementation for SOBEL AcceleratorIRJET Journal
 
Survey paper on image compression techniques
Survey paper on image compression techniquesSurvey paper on image compression techniques
Survey paper on image compression techniquesIRJET Journal
 

Similar to B Eng Final Year Project Presentation (20)

Build Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured LightingBuild Your Own 3D Scanner: 3D Scanning with Structured Lighting
Build Your Own 3D Scanner: 3D Scanning with Structured Lighting
 
FAST AND EFFICIENT IMAGE COMPRESSION BASED ON PARALLEL COMPUTING USING MATLAB
FAST AND EFFICIENT IMAGE COMPRESSION BASED ON PARALLEL COMPUTING USING MATLABFAST AND EFFICIENT IMAGE COMPRESSION BASED ON PARALLEL COMPUTING USING MATLAB
FAST AND EFFICIENT IMAGE COMPRESSION BASED ON PARALLEL COMPUTING USING MATLAB
 
Fundamentals of Image processing.ppt
Fundamentals of Image processing.pptFundamentals of Image processing.ppt
Fundamentals of Image processing.ppt
 
rmsip98.ppt
rmsip98.pptrmsip98.ppt
rmsip98.ppt
 
B.tech_project_ppt.pptx
B.tech_project_ppt.pptxB.tech_project_ppt.pptx
B.tech_project_ppt.pptx
 
09 accelerators
09 accelerators09 accelerators
09 accelerators
 
CyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdfCyberSec_JPEGcompressionForensics.pdf
CyberSec_JPEGcompressionForensics.pdf
 
B070306010
B070306010B070306010
B070306010
 
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
FPGA Implementation of High Speed FIR Filters and less power consumption stru...FPGA Implementation of High Speed FIR Filters and less power consumption stru...
FPGA Implementation of High Speed FIR Filters and less power consumption stru...
 
Multi-core GPU – Fast parallel SAR image generation
Multi-core GPU – Fast parallel SAR image generationMulti-core GPU – Fast parallel SAR image generation
Multi-core GPU – Fast parallel SAR image generation
 
Kassem2009
Kassem2009Kassem2009
Kassem2009
 
Canny Edge Detection Algorithm on FPGA
Canny Edge Detection Algorithm on FPGA Canny Edge Detection Algorithm on FPGA
Canny Edge Detection Algorithm on FPGA
 
C010111519
C010111519C010111519
C010111519
 
Canny Edge Detection Algorithm on FPGA
Canny Edge Detection Algorithm on FPGA Canny Edge Detection Algorithm on FPGA
Canny Edge Detection Algorithm on FPGA
 
Multilayer Neuronal network hardware implementation
Multilayer Neuronal network hardware implementation Multilayer Neuronal network hardware implementation
Multilayer Neuronal network hardware implementation
 
Narendra achari.s
Narendra achari.sNarendra achari.s
Narendra achari.s
 
NeuralProcessingofGeneralPurposeApproximatePrograms
NeuralProcessingofGeneralPurposeApproximateProgramsNeuralProcessingofGeneralPurposeApproximatePrograms
NeuralProcessingofGeneralPurposeApproximatePrograms
 
Towards neuralprocessingofgeneralpurposeapproximateprograms
Towards neuralprocessingofgeneralpurposeapproximateprogramsTowards neuralprocessingofgeneralpurposeapproximateprograms
Towards neuralprocessingofgeneralpurposeapproximateprograms
 
ASIC Implementation for SOBEL Accelerator
ASIC Implementation for SOBEL AcceleratorASIC Implementation for SOBEL Accelerator
ASIC Implementation for SOBEL Accelerator
 
Survey paper on image compression techniques
Survey paper on image compression techniquesSurvey paper on image compression techniques
Survey paper on image compression techniques
 

B Eng Final Year Project Presentation

  • 1. Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A A parallel architecture for image compression (2004) An FYP presentation by: Jesu Joseph, Shibu Menon
  • 2.
  • 3. Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Introduction
  • 4.
  • 5.
  • 6. Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Artificial neural networks Ease of upgrade Self correction Self improvement Self learning
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Our design Color chooser Encoder About 170 different colors 16 colors, each represented by a 4-bit number Compressed image (FF, FF, FF) 1111 … … (40, 68, 90) 0011 (39,0A, 9D) 0010 (10,10,A3) 0001 (00,00,00) 0000
  • 12. Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Our design Input pixels Learn the image Create the codebook Improve the code book Encode the image Code book Compressed image Decode the image (FF, FF, FF) 1111 … … (40, 68, 90) 0011 (39,0A, 9D) 0010 (10,10,A3) 0001 (00,00,00) 0000
  • 13. Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Algorithm
  • 14.
  • 15. OVERALL ALGORITHM Kohonen Algorithm IMAGE Learning Encoding Encoder Compressed Image Pixel by pixel encoding LUT +LUT DECOMPRESSION MSB PLANE Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Weight 16 Neuron 16 … .. … .. Weight2 Neuron 2 Weight 1 Neuron 1 Data 16 Address 16 … .. … .. Data 2 Address 2 Data 1 Address 1
  • 16.
  • 17. STEPS STEP 1: Find closest Neuron (neuron c) ||X(t) – W c (t)|| = min{||X(t)-W i (t)||} STEP 2: Update Weight of the winning Neuron and the Neurons in the topological neighborhood. Wi(t+1) = Wi(t) + α (t).{X(t) – W(t)} For i Є N c (t)  Neighborhood Iterate STEP1 and STEP2 Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A
  • 18.
  • 19.
  • 20. 7-Bit Algorithm Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A (0000_0001) (1111_1111) (000_0001)
  • 21.
  • 23.
  • 24.
  • 25. ARCHITECTURAL NOVELTIES Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Implementation of 7-bit learning: 7-bit learning, mapping of pixels to an octal space and encoding the MSB plane with the image, are new theoretical ideas that we implemented on hardware. This mode should theoretically create images with a better quality than those encoded using 8-bit mode. This is because the neurons are more closely packed in a smaller space, hence creating a better response on the structure from each pixel. Implementation of the 8-bit and the 7-bit Learning Algorithm: The same hardware can process an image in both 7-bit and 8-bit modes. A single push-button switch on the FPGA board sets the mode for a cycle. This is useful because certain images give a better output on 7-bit mode than on 8-bit or vice versa and they can be compared for later studies. This is done, keeping in mind the need for future upgrading of the functionalities. A module can be added to the design that calculates mean-square error for both 7-bit and 8-bit images and the better one can be selected.
  • 26. ARCHITECTURAL NOVELTIES Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Integration of encoding hardware to the learning hardware: The integration of encoding and learning hardware ensures faster compression and reduces the hardware overhead. This is done, keeping in mind the future practical application of the hardware for real-time video compression, rather than just for stand-alone images. Implementation of the variable learning rate: Variable learning rate (using learning rates of 1/2,1/4,…etc.) is a novel feature of this arhitecture. This ensures better updating of neighbors based on its distance from the winning neuron, rather than a fixed updating. The neighbors are updated based on 5 ranges of distances from the winner and the updating distances calculated through theoretical calculations.
  • 27. ARCHITECTURAL NOVELTIES Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Implementation of the learning rate depending on the frequency count: The frequency count value is calculated so that all neurons get equal chance of being the winner. At the same time, the algorithm ensures that a neuron that has been a winner the most number of the time doesn’t get updated as much as the ones that are not as lucky. This is not seen in any other similar algorithms. Implementation of the Neighbor updating: Neighbor-updating together with the winner-updating is another novel feature of our algorithm. This makes the design complicated, but the output quality is considerably improved compared to other architecture.
  • 28.
  • 29. Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Results
  • 30. Parallel architecture for image compression Testing strategy Data verification Result verification Introduction | Algorithm | Architecture | Results | Conclusion | Q&A
  • 31.
  • 32. Parallel architecture for image compression Testing strategy Data verification Result verification Introduction | Algorithm | Architecture | Results | Conclusion | Q&A
  • 33. Parallel architecture for image compression Testing strategy – Result verification C Program Configuration file Decode.v Encoded_image.dat Decoded_image.dat Output.tiff input.tiff Config.dat Result verification Introduction | Algorithm | Architecture | Results | Conclusion | Q&A TOP.V (Top-level synthesizable module) NEURON_ARRAY GLOBAL_CONTROLLER ENCODER
  • 34.
  • 35. Parallel architecture for image compression Testing strategy – Result verification Mean square error = Σ [(R o -R c ) 2 + (G o -G c ) 2 +(B o -B c ) 2 ] 2963.244129 2780.932903 Introduction | Algorithm | Architecture | Results | Conclusion | Q&A
  • 36. Parallel architecture for image compression Screen captures Introduction | Algorithm | Architecture | Results | Conclusion | Q&A
  • 37. Parallel architecture for image compression Synthesis Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Technology Libraries Verilog Code Constraints Synthesis tool Prototype Model Schematic optimized net-list In-signal file Out-signal file Xilinx ISE Series 4.1i
  • 38. Parallel architecture for image compression Synthesis Introduction | Algorithm | Architecture | Results | Conclusion | Q&A ================== Chip top-optimized ================== Summary Information: -------------------- Type: Optimized implementation Source: top, up to date Status: 0 errors, 0 warnings, 0 messages Export: exported after last optimization Chip create time: 0.000000s Chip optimize time: 598.734000s FSM synthesis: ONEHOT Target Information: ------------------- Vendor: Xilinx Family: VIRTEX Device: V800HQ240 Speed: -4 Chip Parameters: ---------------- Optimize for: Speed Optimization effort: Low Frequency: 50 MHz Is module: No Keep io pads: No Number of flip-flops: 3129 Number of latches: 0
  • 39.
  • 40. Parallel architecture for image compression FPGA Implementation Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Upload configuration files and image to the on-board memory Upload the FPGA bit file to the CPLD BAR LED 1 glows - FPGA is configured Press Push Button 1 (START) to start the learning process BAR LED 2 glows – 2 loops completed BAR LED 3 glows – 4 loops completed BAR LED 4 glows – 6 loops completed BAR LED 5 glows – 10 loops completed BAR LED 6 glows – Encoding completed Download the image and convert it to tiff format
  • 41. Parallel architecture for image compression FPGA Implementation Introduction | Algorithm | Architecture | Results | Conclusion | Q&A
  • 42. Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Conclusion
  • 43. Parallel architecture for image compression Conclusion 1. 7-bit process better than 8-bit process Introduction | Algorithm | Architecture | Results | Conclusion | Q&A 2. Suitable for real-time encoding and streaming of video images (About 12 seconds at 5MHz) 3. Use of frequency count register gives better images 4. More the loops, better the image (8-bit, beyond 5 loops). Similar to human learning
  • 44. Parallel architecture for image compression Recommendation 1. Algorithm can be modified to improve learning time Introduction | Algorithm | Architecture | Results | Conclusion | Q&A 2. Real time video compression with 2 parallel learning chips 3. Both 7-bit and 8-bit in the same hardware 4. MSB plane compression
  • 45. Parallel architecture for image compression Introduction | Algorithm | Architecture | Results | Conclusion | Q&A Q & A