I actually vote for a combination of both. The camera takes the picture (hardware) then passes it to a background process (software) which saves it while the camera is busy shooting another pic. Of course how fast the software runs is also hardware dependant to a degree. I suspect that the implementation of this feature on other devices will depend on how well the OEMS or hackers can get the software working with the hardware.