Excessive JPEG compression on Android phones

A few weeks ago I got my first smart-phone, an HTC Magic (aka Google Ion or myTouch 3G) which uses Android 1.6.

Originally I had wanted to get the HTC Desire with Android 2.1 from Softbank, but they had no more stocks of the old model and weren’t going to start shipping the new model until October. I couldn’t wait that long. That’s how I ended up getting an Android phone from the US.

I first transplanted the USIM from my almost three year old Softbank Samsung 707SCII into the Android phone, which wasn’t locked to any provider. I could then make calls here in Japan.

Next I added Softbank’s “smart phone pakehodai” (smart phone unlimited data) plan to my existing contract, after telling the company that I was going to use my existing USIM in an imported Android phone. They didn’t raise any objections to that. The plan is about 5700 yen per month (about US$67), plus 315 yen to enable web access and mail (US$3.60), which I had previously disabled as I was only using SMS besides voice calls. I configured APNs for accessing the Softbank network using this link, which then gave me full web access from my new phone even when not on my wireless LAN at home.

So far it has been a fun experience and I’m still exploring new features and applications.

The application I enjoy most so far is Google Maps. Having moved from the semirural suburbs of Yokohama to a densely populated part of Tokyo recently, I’m now exploring local back streets on foot or on the bicycle as well as riding trains, of which there are plenty. Google Maps will easily find me a train connection to anywhere in this city of 13 million people, including directions for walking to and from stations and down to the minute connection schedules (Japanese trains are famously punctual).

I was disappointed however by the picture quality of the 3 MP camera (1536 by 2048 pixels) on the phone, not that my expectations were too high to start with. But I was shocked to see that when I copied these 3 MP image files off the phone using a USB cable, they were only 330 to 700 MB (500 MB on average) in size even when taking pictures at the highest quality settings. This is 2 to 3 times smaller than typical 3 MP cameras.

My old Sony P8 (also a 3 MP camera) averaged around 1.3 MB per image. One Megabyte or more per image is fairly typical for high quality settings at 3 MP. That means the Android camera must be using very aggressive JPEG compression settings, which reduce detail and produce artifacts, to squeeze pictures into 40% of the space used on other cameras. And you can really tell from just looking at the pictures: They look somewhat blurred and fuzzy, not as sharp and crisp as you’d expect even from a modest 3 MP camera.

What’s worse, I could not find any setting that would let me change this. A search on Google confirmed that others using different Android phones have the same problem, but currently no solution.

I hope Google will address this problem on the Android 2.2 upgrade, because with these software settings the capabilities of the hardware are wasted, even more so on 5 MP or 8 MP camera models. It makes no sense to aggressively compress pictures when the user has selected optimum quality, especially on a camera that can be expanded with up to 16 GB per microSD memory card.

6 thoughts on “Excessive JPEG compression on Android phones

  1. Agreed, I also use 1.6 Android phone and most of the time artifacts are clearly visible.

    I wonder are there pre-paid data package sim in Japan? Since, I might travel there with my family on November. I have downloaded an offline map but as you mentioned being able to use Google Map would be great.

  2. I have the same problem. Very annoying with a boosted camera resolution when the compression of the pictures is exaggerated. I was chocked when first viewing the photos taken with my HTC Desire (Android 2.2).

  3. I have now nexus s with android 2.3.1 still same issue. with 5M pixels i take photos of text documents and the text is not clear. The noise I see is digital noise coming only from JPEG compression (I used flash). I compared it to iphone 4 and with it’s 5M pixels camera the results where very good compare to the nexus s. I hope Google will give us a way to control the JPG compression ratio.

  4. Exactly the same problem with image compression ratio. I have HTC Sensation with 8M camera. Android version 2.3.3. I am very sad and afraid, because my 3 years old Nokia E66 is making better results. Realy better.
    Hope for update with compression control. Current setup is turning off the camera for me. So bad result. It is a pity.

  5. I just bought the HTC Amaze, whose camera was advertized as being the best of the best. This is absolute horse puckey. Backlit sensor, HDR, Clearshot, blah blah blah. All POINTLESS because the jpeg compression makes the image way too GRAINY. Image quality/compression needs to be USER ADJUSTIBLE.

  6. Hey guys any luck with the compression controlling. I am having the same issue with my Dell Streak. And i am sure it has to do something with the media capture service as when i was on the stock froyo rom the clarity of the pics taken was better than now on the gingerbread . i have edited the build.prop and added a string there but it doesnt seem to help so checking some more details

    You can try adding the string anywhere in the build.prop

    ro.media.enc.jpeg.quality=100

Leave a Reply

Your email address will not be published. Required fields are marked *