Hi all,
I'm looking to implement JPEG compression of still images using the 5515 eZdsp. My input will be raw pixel data from this sensor:
https://www.aptina.com/products/image_sensors/mt9v022ia7atc/
which will be mounted on this module:
http://www.videologyinc.com/cameras/cmos-board-camera-24B752XA.htm#cmos-board-camera-24B752XA=overview
After processing one image the JPEG file will be stored to SD before moving on to the next image.
I am just starting out on this task but it looks like the c55x image library (http://www.ti.com/tool/SPRC101) has the tools I need. My anticipated problem is that the sensor outputs pixel data in either 10 or 12 bits, however the image library seems to only deal with Q16.0 data input (16 bits). I am getting this info from the image library programmer's reference. Does anyone know how I could deal with this? Or is it actually a problem at all?
I would appreciate any insight into this and into this task in general. Maybe someone could point me in the direction of a previous implementation or something similar. Please keep in mind this is my first time doing this kind of work :)
Thank you very much for reading and for any comments
EDIT: I guess I will add my other questions as well. As I understand it this is how the library can be used to JPEG compress some raw pixel data, 8x8 array of pixels at a time. Please correct any problems you see
1. call IMG_fdct_8x8 which does the DCT on your pixels
2. call IMG_jpeg_make_recip_tbl which makes your reciprocal quantization table. I am not clear here on how this quantization table will be generated (or downloaded?)
3. call IMG_jpeg_quantize which quantizes the pixels. This requires an input of a zigzag table, again which I'm not sure about how it will be generated or downloaded?
4. call JPEG_vlc_init which initializes the Huffman code
5. call IMG_jpeg_vlc which does the variable length coding, the output of which will be a compressed block of 8x8 pixels in JPEG format. Correct?
Any insight on where the quantization table and zigzag table actually come from would be greatly appreciated. Sorry for lack of experience, thanks!