| Company: |
Bordelon Software Consulting |
| Timeframe: |
2007-2008 |
| Title: |
Programmer/Consultant |
| Reponsibilites: |
Hardware layout/Design
Firmware |
| Languages: |
C, Blackfin C++/Assembly, VHDL |
I designed and implemented a Wavelet Codec algorithm in C for a client. The application was sending live video down from drone aircraft. The compromise: More CPU but less bandwidth. In most every other way, Wavelet is superior to JPEG when compressing images in most every respect. It tends to compress images to less than half the size of JPEG without all the block artifacts.
After the C prototype, I designed and built two hardware boards: The first was a Blackfin DSP based board (pictured to the right) which digitized incoming NTSC from a ADC, wavelet compressed the feed, then encoded and outputted the data on a serial port. The decoder worked the same, but in reverse. While the CODEC ran, I output status via a VGA port and only a DAC (no external chips were used for any of the functionality other than DAC/ADC and memory)
The final implementation was coded in VHDL and provided the same functionality in hardware at much faster framerates.
Here's an example of the performance of our codec. The images are 512x512. The original is a whopping 768K. After our wavelet transform and arithmatic coding, the image size is reduced to 7k! That's only 1% of the original!
The image on the left is the original. The image on the right is the wavelet compressed version.

|