Compression Algorithm Suggestion
You can't compress them further unless you decode then resample them with higher compression parameters (which will degrade image quality), resize them smaller, or use a "better" compression codec than what was used originally.
Actually I just want to recode ONE SINGLE PICTURE IN RAM at a time ...
While you may have to do some work to get it working on the Pocket PC, couldn't you accomplish this using any of the zip/rar/whatever compression packages out there? Throwing all of the jpgs into a zip file, and then just pulling out the jpg you need when you need it seems like exactly what you want to do.
It sounds more like you just need to zip them up (using a zip library that allows NO compression) and then retrieve by name. I wouldn't bother trying to compress the images further, jpeg is pretty good for photos (assuming photos).
arrrgh, can we have timestamps to prove I posted that at the same time :)
"I'm aware that JPG is already a compressed format but
Cycle, "decode" means to decompress, and "recode" (encode) means to re-compress. To draw the image, you (or the system) must DEcode, not "recode".
Not sure about the file system on the pcoket PC but putting them in a single file will probably save space by just getting rid of the wasted space at end of each cluster that are caused by storing the individual files.
Phhh... zipping a jpeg file gives you minimal, if any, size reduction.
To OP: For this additional compression, are you looking for lossy compression or loss-less compression?
Just concatenate the jpgs into a single file?
i like i
For better compression you could try out JPG2000.
Unless you are willing to have a loss of image quality that would result from decoding them and reencoding them with more compact settings, you aren't going to get much more than 1 or 2% compression by zipping them or using any other compression.
As everyone has pointed out, you cannot compress JPEGs any more without using lossy compression. I would recommend that you just choose a different image file format, such as JPEG2000.
Another thought is to make sure that the images are sized appropriately and that you are not scaling them down to fit on the screen of the pocket pc.
If those JPEG's are similar in nature eyou could put them together as a movie - mpeg file which would allow you not only the ability to compress across one picture as in case of JPEG but across multiple ones since each one would be a frame in a movie.
oh my,.. The things people do just to carry their porn collection in their pocket device..
Decode all your jpegs partially to the pre-huffman coding stage. From there you can use arithmetic coding and/or do a mpeg-like motion vector search. Theoretically that can compress better without losing quality. It really depends on how much processing time you're willing to spend.
well, there might be a way, i think... if the jpg's are all similarly sized and have similar content (e.g., backgrounds are often the same)... i would think you could break apart each jpg and interleave it into the larger repository file.
dir at badblue com
I don't agree that what the OP wants is impossible. It is true that putting one JPEG in a zip file will not significantly reduce its size, however that is not what the OP wanted. He wanted to put a whole bunch in there, and that certainly gives the possibility of further compression, since although there is little redundancy within the individual files, there is surely some redundancy accross all the files.
Actually, in retrospect, using zip will probably not do it for you, because I suspect that zip compresses files individually, and then concatenates them, so cross file redundacy will not be eliminated.
Well, you can't find Winzip for the ppc, but there are other programs. Total Commander is capable of zipping/unzipping if I'm not mistaken, but Resco Explorer does it as well.
Fog Creek Home