Digital Image Stabilization - General Discussion and Assistance - CHDK Forum

Digital Image Stabilization

  • 21 Replies
  • 12131 Views
*

Offline cyril42e

  • ***
  • 111
  • SD1000/Ixus70 1.02a
    • CR-TEKnologies
Digital Image Stabilization
« on: 19 / June / 2008, 08:45:19 »
Advertisements
I had a Casio camera with digital IS, and it was giving satisfactory results, even if it's less efficient than optical or mechanical IS of course. I was wondering if it would be possible to implement such feature in CHDK.

What would be needed is just to prevent JPEG encoding/saving. I guess it is possible to access the RAW data after a shot has been taken since CHDK can save the RAW picture. So the idea would be to continuously take shots at 1/50s or 1/100s, and accumulate them in a buffer after having shift them.
Problem: according to the memory write speed of my camera (~41MB/s), it must take ~220ms just to get the sensor data in the memory, so it will take a lot of time for long exposure time (and greatly increase the risk of subject move blur).

So my questions are:
1. did someone already study this possibility (I didn't find any information on the forum)
2. does it seem possible to people that have better knowledge of CHDK core than me?
3. is it worth the pain?
4. is IDA 4.9 freeware ok to work with CHDK (Loading dump to IDA - CHDK Wiki)?

Thanks!

*

Offline fe50

  • ******
  • 3147
  • IXUS50 & 860, SX10 Star WARs-Star RAWs
    • fe50
Re: Digital Image Stabilization
« Reply #1 on: 19 / June / 2008, 09:02:42 »
Hi cyrill42e,
@oint 4: No, definitively not, no support for ARM in the IDA freeware version  ??? [Thread]

*

Offline fbonomi

  • ****
  • 469
  • A570IS SD1100/Ixus80
    • Francesco Bonomi
Re: Digital Image Stabilization
« Reply #2 on: 19 / June / 2008, 09:03:36 »
What would be needed is just to prevent JPEG encoding/saving. I guess it is possible to access the RAW data after a shot has been taken since CHDK can save the RAW picture.

That's fairly easy.

Quote
So the idea would be to continuously take shots at 1/50s or 1/100s, and accumulate them in a buffer after having shift them.

You don't have enough RAM for such a thing ....

If you are speaking about SD card, then speed is a major issue.

Quote
2. does it seem possible to people that have better knowledge of CHDK core than me?

Not that I have that much knowledge, but I think it isn't.

*

Offline cyril42e

  • ***
  • 111
  • SD1000/Ixus70 1.02a
    • CR-TEKnologies
Re: Digital Image Stabilization
« Reply #3 on: 21 / June / 2008, 06:36:04 »
@oint 4: No, definitively not, no support for ARM in the IDA freeware version  ??? [Thread]
:(
Thanks for the info.

What would be needed is just to prevent JPEG encoding/saving. I guess it is possible to access the RAW data after a shot has been taken since CHDK can save the RAW picture.
That's fairly easy.
What is fairly easy? The first or second point? Because if it is the first point, it could be interesting to add this option to CHDK, not saving JPEG when RAW is enabled. It would save a little bit memory, and in my case would probably allow raw burst shots in ~0.7s instead of 1.22s.

Quote
You don't have enough RAM for such a thing ....
If you are speaking about SD card, then speed is a major issue.
:(
You're right... Memory Info tells me I only have 650KB free RAM. I never thought there was such a "minimum" of RAM in these cameras, and I thought I read somewhere on this forum that *some* cameras have twice memory as much as necessary...
With a good SD Card and DIGIC III camera it can be only 2x slower than memory, but it becomes really unworkable anyway...

Quote
Quote
2. does it seem possible to people that have better knowledge of CHDK core than me?
Not that I have that much knowledge, but I think it isn't.
Yeah, it seems you're right ;). Thank you for your advice :).
« Last Edit: 21 / June / 2008, 06:38:34 by cyril42e »


*

Offline RaduP

  • *****
  • 926
Re: Digital Image Stabilization
« Reply #4 on: 21 / June / 2008, 23:45:34 »
Maybe I am wronng, but isn't the 'digital IS' in cameras done by jacking up the ISO to reduce the exposure time? Do they really employ sophisticated methods like multiple images then shifting/aligning them, etc?

*

Offline cyril42e

  • ***
  • 111
  • SD1000/Ixus70 1.02a
    • CR-TEKnologies
Re: Digital Image Stabilization
« Reply #5 on: 22 / June / 2008, 08:48:24 »
I don't know exactly how they do, but Casio call that "Anti Shake DSP", so I think this is more than jacking up the ISO and denoising. I know there is "deconvolution" software, but I don't know if it is very efficient, and I think this is too "heavy" for a camera. On the other hand, my suggestion seems difficult to implement too so maybe you're right... All I know is that the result looks pretty convincing, but as soon as I got it back (reparation), I will investigate this further...

Edit: Actually it seems that you are right, according to this official Casio page:
Quote
both models incorporate Anti Shake DSP, which reduces blur by raising the camera's sensitivity and therefore increasing shutter speeds.
So that's good news after all, it means that it is possible to obtain the same result by denoising high ISO pictures :-)

However I get  another idea with what is said on this page:
Quote
Auto Shutter function automatically records the moment of a smile or the instant when hand shake ceases
Using motion blur detection technology, the camera can automatically take a photo at the instant when hand shake or subject movement ceases. Users can also automatically capture the moment of a smile, the instant when subject movement due to panning ceases, or the moment when their own face fills the frame as they point the camera towards themselves.
Maybe the "motion blur detection" is not easy to do (detecting high frequencies?), but "motion detection" already exists, and with little adaptation (changing how motion is detected, with average luminance in cells) it would be possible to do something similar to that...
« Last Edit: 22 / June / 2008, 09:06:33 by cyril42e »

*

Offline fudgey

  • *****
  • 1705
  • a570is
Re: Digital Image Stabilization
« Reply #6 on: 22 / June / 2008, 09:57:31 »
Maybe the "motion blur detection" is not easy to do (detecting high frequencies?), but "motion detection" already exists, and with little adaptation (changing how motion is detected, with average luminance in cells) it would be possible to do something similar to that...

NO ACTIVITY = TAKE SNAP!...anyone?

*

Offline RaduP

  • *****
  • 926
Re: Digital Image Stabilization
« Reply #7 on: 22 / June / 2008, 11:56:01 »
What could be done, in theory, is get the motion vectors, then do some intelligent image reconstruction based on that. You don't need too much memory for it, so long as you can read and write in the raw buffer. Of course, it might take forever to do on a low speed ARM processor, and it's not easy to implement, but it should be possible.


*

Offline brainwash

  • **
  • 95
  • Nikon D40x & A460
Re: Digital Image Stabilization
« Reply #8 on: 24 / June / 2008, 11:21:13 »
I think on the cheaper Nikon cameras there is a mode which retains the sharpest picture. So you keep the shutter pressed, it works like burst mode and the camera retains what it thinks is the sharpest picture.
I am not that familiar with image processing algorithms but I think blur can be measured and the 'script' would be like this:
-switch to burst mode
-take picture, measure blur, write picture in back-buffer
-take picture, measure blur, if current blur smaller then last blur then save this picture in back-buffer
...
At script end process the back-buffer as a normal picture.

Digital stabilization for camcorders are one thing (cropping the picture), digital IS for cameras involve setting a higher iso.
As seen, iso higher than 800 is hard to attain on these ccd chips so the trick is to use the highest iso, shorten the exposure then brighten the picture through camera software.

*

Offline fudgey

  • *****
  • 1705
  • a570is
Re: Digital Image Stabilization
« Reply #9 on: 24 / June / 2008, 12:34:05 »
I think on the cheaper Nikon cameras there is a mode which retains the sharpest picture. So you keep the shutter pressed, it works like burst mode and the camera retains what it thinks is the sharpest picture.

Yep, and I think this can already be found in the feature requests section somewhere... at least it was discussed a while back.

 

Related Topics