Tuesday, August 30, 2011

GH1 - Ressurrection :D

So ... My GH1 got the SD card jammed in it...

Wednesday, August 24, 2011

Nokia 5800 XpressMusic - Camera

Because my GH1 solved to commit suicide (I may post the repair process later - once I get it repaired), I solve to check what my 'old' 5800 was capable when it came to photo image quality (if you can call it that).

After N95, Nokia did not release any mobile phone worth of it's price. Anne update was a mess, most of the devices expected to have it as an update are still waiting for it, battery drain issues (probably processes running astray), etc. - I talk about this update because it also bring some extras to N8 camera (leaving E7, C7 and C6-01 in the cold - hardware could be the reason, though).

Belle is now arriving to the market, the interface useability looks like a copy of android in many points, but I'm okay with that. But thing is ... Symbian is dead, mostly because it got too bloated and fragmented to be maintained by a single company, the attempt to open the code with S^3 failed and now Nokia tries to make it pretty (Yay for marketing!) so it can sell devices while preparing the WP7 ones.

I wonder how Nokia will survive on the market with 250~300€ devices that are almost identical to 80~100€ android devices (except for the screen, Nokia has the upper-hand on that part - but in RAM is the other way around)

Well, I went ahead and ranted about it, back to the camera stuff, 5800 is plagued with something called JPEG compression... Noise reduction doesn't help obviously, and when it comes to ISO let's say that it's better to stick to 100 even though there is no exact control over it. And that's exactly the point, when a digital camera is bad, you can usually control the variables to make it a bit better, 5800 allows for 3 levels of ISO: low (up to 100), medium (up to 400) and high (up to 800). So far so good, since you can't control lens aperture (f/2.8 by the way), nor focal length (3.7mm or around 40mm in 35mm film terms) the only thing left to control exposure is the time, the exposure time is not tweak-able and that's quite a pain: you can set the camera to night mode and get the shutter to go to up 1/5s, but is not exactly accurate and it could be longer like 1s or so (assuming you could put the phone on a resting surface).

So, what else? Well, some guys noticed the JPEG artifacts and hacked the phone configurations to obtain the 'goodies', that was quite good indeed, but hacking is not for everyone and there is also the risk that you break something up.

I tried to override the camera exposure time by making an app for the phone, sadly Symbian is a nightmare to program, with bloated and confusing APIs, even installing the IDE is a challenge by itself (not to mention that I end up by having it crash all the time). So the only thing that would do was python for Symbian, it's a lot more direct to the stuff, but the APIs are limited, I noticed it has a camera API, so I gave it a try.

Sadly python only allows for the basic access to the camera, using the profiles (night, sports, etc) in camera setup. So ... what else? ... hmmm, did someone though of the same but had experience in programming stuff in low level for Symbian? Apparently yes, it's called CameraPro an application that does what's expected to do.

Here goes a few comparison crops so that you can have an idea, I disabled flash in all modes (click on the photo to see it at full size):

As you can see Auto mode is horrendous, it picks ISO 600 (592 to be exact with 1/17s exposure), giving a desaturated photo, filled with blurriness from the noise reduction acting up. There is also a noticeable green tint, specially on the right edge of the photo, probably some electromagnetic interference in the sensor from the phone internal wiring.

The second column, has a tweak from my side, I pick night mode, and ISO medium setting, It gave me an ISO 300 (ISO296, 1/6s), it's noticeable better, the green tint is lower, the detail is a lot better, but there is still some annoying 'mushiness' on the image.

On the third column, I tweaked it, further limiting the ISO setting to low, surprisingly, while I set night mode the camera gave me ISO97 and 1/17s exposure, since it looked dark with the first attempt (I can only check the EXIF on computer) I set the EV to +2, hoping that it got it right, but no, same result: an underexposed photo, not exactly bad it terms of detail, but shadow noise is noticeable, and if I had post processed it to correct the exposure I would have a noise filled photo.

The last column shows the result of CameraPro with the settings: ISO100, Exposure mode: Very Long, JPEG quality at 100, the resulting photo reports in EXIF: ISO 97, 0.52sec exposure (1/2s). It's not hard to see that quality wise, while not perfect, it's a great result when comparing with the other photos. Video seems to have so extra tweaks on it as well, but I haven't tested it.

Well... this just means that the device hardware manufacturer didn't do a good job with the software, requiring third party software to take the best of the hardware.

This reminds me of Canon cameras and CHDK... thing is ALL digital cameras adquire raw signal in the sensor, some sensor chipsets have the JPEG engine inside (usually tweak-able), but for most it is possible to acquire the RAW data, manufacturers choose to not implement RAW feature on compact cameras, when it would increase the camera value for the enthusiasts... Oh well... Let's wait for camera with 50MP 1/8" sensors and 50x Zoom lens and then complain that my 5800 takes better photos :/ (for the ones that don't get the hint, I'm exaggerating)