Jpeg trials

I finally have some time to continue working on my projects and I don’t know where to start first ^_^

Lately I had tons of questions about streaming and especially jpeg streaming. There is no way to get the data from a OV7670 or OV7725 and compress it then stream it through a very slow UART port. Let’s face it, to use Arduino to receive or send data to a standard UART speed higher than 57600 is not possible. Because Arduino is using a 16 Mhz crystal, any “standard” UART speed higher than 57600 have too many errors. You can use however non-standard speeds (125,000/250,000/500,000/1,000,000 bps vs 115,200/230,400/460,800/921,600 bps) if you are using AVR studio and write your own code.

Anyway, this debate made me think: what about compressing out from the camera? I can switch to compression or not based on application and “solve” streaming over low UART port problem. Not that compression and tracking can be used in the same time, but since I get more and more questions, why not?

Got myself  pair of OV2640 miniature cameras, did some changes (DVDD is different from OV7670 to OV2640!!!) and hacking the code and voila! I can get now images (raw) from the CTS module :)

I am working now to get my mind around on how jpeg works on this camera and how to control the compression ratio then if is any interest and demand will design a board with micro SD card and jpeg camera to be used for jpeg streaming and tracking.


3 thoughts on “Jpeg trials

    • Hi Sadegh, thank you for your feedback. For your information I am using only ARM on all my boards and all are running at 921600 bps.
      My target is to get the jpeg output from OV2640 camera and stream it to a PC host over wifi. I only need jpeg for streaming, for tracking I am only using YUV raw.
      I am not interested actually in BMP, I already covered that part on a separate project late last year.

  1. You can get mediocre quality pictures using a block size of 8 with DCT based compression keeping only 3×3 values of the 8×8 DCT block, this will reduce a 640×480 image to an “equivalent” 240×180 image which can be recovered relatively easily. The DCT compression method is used by JPEG to remove high frequency data.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s