Reading data from VC0706

Hi, I'm using VC0706 UART camera. I can snap a jpeg photo with it and save it to the SD card. I have an image processing code that can detect a character from the photo. but it only works with bitmap files. I found a way to decode the jpeg and turn it to bitmap then I processed it and it worked fine. but the whole procedure takes about 10 seconds and it's to much for what I wanna do. The processing part takes only about 700 milliseconds. So it's not arduino's fault. The camera has a chip on it that at first save the photo on itself, then I can write it to the SD. Snapping the photo just takes 300 milliseconds So most of the time is taken by writing and decoding the jpeg.
That's the part I need your help. Is there any way to read the RGB data of each pixel of the image dirctly from the camera module?
The writing part is this:

  while (jpglen > 0) 
  {
    uint8_t *buffer;
    uint8_t bytesToRead = min(32, jpglen);
    buffer = cam.readPicture(bytesToRead);
    imgFile.write(buffer, bytesToRead);
    jpglen -= bytesToRead;
  }

As you can see no header is being write separately. It shows that the jpeg is already saved to the camera itself. I don't know too much about jpeg but I know that it's a compact version of bitmap. I want to process directly from the camera. Is there any way I can do this?
I just started working with raspberry pi and I don't know how to work with it and I don't have enough time to learn. and I'm not sure raspberry do the job faster. So arduino is my best choice for now.
Any help would be appreciated. thanks
Code attached below.

Snapshot.ino (5.88 KB)

I don't know too much about jpeg but I know that it's a compact version of bitmap. I want to process directly from the camera.

Compressed, not compact. The Arduino doesn't have the memory or the processing power to decompress the jpeg file.