CALIC – A lossless image compression

CALIC stands for Context-Based, Adaptive, Lossless Image Coding, and is an image codec that is made for obtaining a high degree of compression for continuous-tone gray-scaled images. It uses a single pass and self-correcting GAP (gradient adjusted predictor) to compress image efficiently and with a high compression ratio. CALIC puts heavy emphasis on image data modeling, and it makes use of a large number of modeling contexts to condition a nonlinear predictor (gradient-adjusted predictor) and adapt the predictor to varying source statistics. Since 2000, CALIC was considered as a benchmark for lossless compression for continuous-tone images.

Me and my friends (Siddharth and Sanjay) have implemented a basic version of the CALIC compression codec as part of our coursework (Digital Image Processing course – 6th Sem). We’ve maintained a separate blog for this purpose.

To go through the schematic description of CALIC as well as a detailed overview of all the individual components, you can click here. This paper gives an elaborate explanation about the working and the main components in CALIC as well as comparison with other famous image compression formats such as JPEG2000.

Blog Link : – CALIC – UE14CS348 project


N body simulation in CUDA

Hey there!

I found this code in GitHub which solves N-body problem using traditional Newtonian gravitational equations. The repository owner, pchapin, has already tried various parallelizing methods like – pthreads, OpenMP, MPI, and CUDA.

While going through the whole programs and running it for different inputs. I discovered that there few of spots for improvement for the CUDA code. So I compiled the CUDA code with nvcc and ran it on nvprof.

Continue reading “N body simulation in CUDA”

Tensorflow – A Parallel perspective

Hey there!

A few days ago, I started learning about tensorflow, it is the google’s new open source library for doing various machine learning.

One of the reasons I wanted to try tensorflow was – I heard that tensorflow is heavily parallelized, so I just became curious to know how people do it. Tensorflow can also run on GPU which made me more curious.

Continue reading “Tensorflow – A Parallel perspective”