Live data from Hacker News

Scientific Breakthrough Lets SnappyCam App Take 20 Full-Res Photos Per Second

techcrunch.com

81–90 of 262 posts

Re: Scientific Breakthrough Lets SnappyCam App Take 20 Full-Res Photos Per Second

#81
post #60

It takes time and lots of effort, and ill argue is easier on a quasi standard platform (processor wise) but apps like this show how much juice can be squeezed out of the existing hardware by handcrafting the code. Kudos, I just bought the app!

Thanks for the download! Let me know if you've got any feedback, I can be easily contacted through the app. :D I'd just like to add that in addition to handcrafted code, choosing the right algorithm and always trying to "do less work" (less cycles, less data IO, better use of registers) makes a big difference.

I'm impressed as hell by all of this, the fast DCTs and the crafting of the entire process to build something so far beyond anything else on the market is great.

Bought this!

Re: Scientific Breakthrough Lets SnappyCam App Take 20 Full-Res Photos Per Second

#82
post #21

Earlier quoted context omitted.

Don't forget that SnappyCam pumps both CPU cores when available. The actual DCT algorithm created and used in the app is different to the typical AAN (Arai, Agui, Nakajima) DCT algorithm that's used in JPEG codecs, at least all the ones I've seen. It's all about doing as little work as possible to achieve the end result. That's why there's so much asm implementation, with carefully chosen NEON instructions for each s…

Really interested in the nuts and bolts - are you optimizing specifically for one quality setting (in which case I'm guessing you could probably do the quantization as part of the dct and throw away some calculations)? I played with a realtime jpeg compression implementation back in college on transputers (yes I'm that old). Fun stuff, nice to see there are still places where going right down to the metal can make a…

Oh that's awesome and a lot of fun!

While SnappyCam has been the most difficult, complex, piece of software I've written since I started coding in my early teens, it's also been one of the most satisfying technically.

I'd love to disclose the many, many optimizations baked in, but as this is a commercial app I must keep much of it as a trade secret.

I will say though that a lot of precomputation was involved, both for the encoder and decoder. Jumped at the chance to avoid computation, memory reads, etc., as much as possible. :-)

Re: Scientific Breakthrough Lets SnappyCam App Take 20 Full-Res Photos Per Second

#83
post #47

I'm interested to know how their method compares to how dedicated digital cameras and DSLRs do it? are cameras running dedicated hardware/firmware to achieve the same result? Or have they optimised their software in the same way that SnappyCam has done it?

I can't say, as SnappyCam is my first foray into image signal processing. (Though DSP isn't new to me.) I'd guess that DSLRs use a combination of hardware acceleration on the "tricky" bits (like DCT) with firmware to control the compute hardware. Huffman is a particularly difficult beast, as it can't be parallelized. The JPEG bitstream is inherently serial, though there has been some proposals to improve that. If you…

Interesting stuff, thanks for the info. Much respect for doing so much optimisation in assembly (my limit is C, even for embedded work).

Re: Scientific Breakthrough Lets SnappyCam App Take 20 Full-Res Photos Per Second

#84
post #16

Earlier quoted context omitted.

You are right on the loss: it's purposefully introduced as a quantization step after performing the DCT, and before losslessly compressing the resulting coefficients with Huffman and encoding to the final JPEG bitstream. Despite all of that, JPEG has now become computationally tractable. I remember the days where it took tens of seconds to encode a JPEG on a commodity machine. Now, with the help of SIMD, we can encod…

It's just bizarre that you would be doing the complete JPEG process at the instant you get the image from the sensor. As you note, there are a plethora of steps that JPEG performs, from color space conversion, to DCT transformation (essentially a gigantic matrix multiplication), Huffman coding, quantization, arithmetic coding and encoding as JPEG bitstream. The only reason would be that you are pressed for memory or…

which would have been my first avenue in attempting to do something like this.

Have you attempted to do something like this? Because he not only has attempted, he's done it. Therefore I think you should stop talking down to him ("completely pointless", "it's just bizarre", "my first avenue"). It comes across as wanting to prove how smart you are instead of seeking to learn from someone who has done incredible work and—lucky for us—is bursting at the seams with enthusiasm to share it.

Oh and congratulations jpap on what's looking like the most successful and technically solidest HN launch in quite some time! I hope your hard work pays off.

Re: Scientific Breakthrough Lets SnappyCam App Take 20 Full-Res Photos Per Second

#85
post #55

Earlier quoted context omitted.

@jpap, are the results shown in the article being used today?

You'd have to ask Ericsson. ;-) I certainly hope so!

I vaguely remember reading that they (the Ericsson patents) were included in the latest VSDL2 specs.

Could be rolled out as part of the NBN pending Australia's election result.

Re: Scientific Breakthrough Lets SnappyCam App Take 20 Full-Res Photos Per Second

#86
post #80
post #39

Earlier quoted context omitted.

Thanks! :D I'm just very happy to have more people try the app. It's been a hard slog working 7 day weeks for just over two years now. Feels great to receive some kind of recognition for the work.

I too have purchased the app, and initial testing on a 4S seems to show it works exactly as advertised. This is a really great app, and an astoundingly low price. You should be very proud I think, I'll definitely be using the app as my goto in the future. (Hmm, after writing that, I somehow feel it sounds like it should have a reference to my rural, folksy, respected job that clearly makes me qualified to discuss suc…

That's abs awesome to hear! Thanks for the wonderful complement.

I played with price. Until now, most of my sales were word of mouth, and the $1.99 price hindered "growth".

It's been an interesting game. Many people whom I demo the app to in person love it, then when they reach into their pocket to download it, realize it's a paid app, they place their phone back into the pocket.

Still have lessons to learn in sales and marketing... but am enjoying the schooling.

Re: Scientific Breakthrough Lets SnappyCam App Take 20 Full-Res Photos Per Second

#87
post #79

Earlier quoted context omitted.

I always say a good programmer has to be "lazy"! Some feedback, the default exposure settings showed my room as pitch black (I have it very dim now), the native iphone5 camera adjusted automatically. I was able to snap a shot by pointing to the light. Personally I prefer not to crank the gain on the sensor.

haha, yes, if only it pays to be lazy. :) Sometimes doing "less work" means more up-front planning and thinking. Not a bad thing necessarily. Interesting on the native camera adjustment. SnappyCam will use the "low light boost" high ISO capabilities of the camera. I'll have a play around with it. Otherwise, does the continuous flash help you much?

The continuous flash didn't fire. I'm running the stock settings.

Re: Scientific Breakthrough Lets SnappyCam App Take 20 Full-Res Photos Per Second

#88
This is neat tech and works pretty much as advertised, but man, this UI is pretty rough. The blue background and curvy borders are strangely superfluous; tapping the left-bottom corner controls pops up an intermediate selector but the right-bottom controls work in-place; taking a shot produces a big "infinity" symbol that fades in and out of view -- I don't know what it means.

Good work on tech, please hire a UX specialist :-)

Re: Scientific Breakthrough Lets SnappyCam App Take 20 Full-Res Photos Per Second

#89
post #64
post #63

Earlier quoted context omitted.

Wow, I'm usually pretty skeptical about these new niche social networks, but I've gotta say that is really really cool. Great work on the "living photo" idea -- that kind of adds this magical sort of feeling to it, which, I've gotta say, I felt. I hope your hard work pays off. You've built something special here :)

Thanks mate---comments like yours make my day. :-) I'm not actually planning on creating a new niche social network. I think, given the vastness of some of the ones that've emerged of late, it would be more fruitful to leverage the ones that exist today. Can't wait for you to see it!

Given that niche social/mobile networks for short videos are so hot right now (ie. Vine, Instagram Video), it might be more fruitful for you to plan on creating a new one.

Re: Scientific Breakthrough Lets SnappyCam App Take 20 Full-Res Photos Per Second

#90
This is pretty cool. You got my buck!

I was kinda hoping I could also turn the speed down to multiple seconds per photo, since it talks about doing time-lapse shots. One of my major uses for my phone's camera is selfies for art reference, currently done with Genius - which annoyingly won't do repeated shots at anything less than 10 seconds. Being able to take one shot every 1-3 seconds would be pretty damn cool for me.

Post reply on HN