I'm trying to build a hand held camera with video recording feature.

Basic features of camera are

  • Resolution: 640x480
  • Frame rate: 25/30Hz
  • Video format from sensor: 8-bit grey scale BT.656 (Sensor with Internal compression is not possible in our application).

  • Software platform: can be Operating system based/Bare metal coding depending on the decision taken on video compression part.

  • Expected Power consumption: 1.5 Watt for Recording circuit alone.

  • Storage: SD card

I'm using an avr micro controller for all the controlling and user interface of camera. However for the video compression and storage part I'm facing difficulty.

I have read lot of processors and controllers and found following things.

  • For the processors side i found that Texas instruments Davinci,OMAP,SITARA ,NXP i.Mx, and other media processor are relevant for my application.

  • But i feel that these are overkill for my application in terms of power consumption and processing power.

  • From the micro controller side i have studied about atmel sam cortex m7 series with inbuilt video decoder and software jpeg encoder. For video playback i can use hardware video decoder.
  • This option seems OK for just snapshot storage. But for video recording i need compression. Though the power consumption is low, the processing power required for video compression is not feasible with this as per my opinion.

The video quality I'm expecting is one which is reasonable for a surveillance camera.

I feel I'm missing something quite obvious for everyone except me in this world for such a typical application.

The main constraints I have are the power consumption and size.

Could any one suggest how I can go ahead for the video recording application.

  • \$\begingroup\$ "for video recording i need compression... the processing power required for video compression is not feasible" - these are not specifications. What is the maximum acceptable bit rate and power consumption? \$\endgroup\$ – Bruce Abbott Mar 1 '18 at 15:22
  • \$\begingroup\$ Expected Power consumption: 1.5 Watt for Recording circuit alone. \$\endgroup\$ – Vinod kumar Mar 1 '18 at 15:27
  • \$\begingroup\$ This is typically done with hardware assistance on chips intended for this purpose. \$\endgroup\$ – Chris Stratton Mar 1 '18 at 15:43
  • \$\begingroup\$ @Chris can you suggest few ICs for low power application \$\endgroup\$ – Vinod kumar Mar 1 '18 at 16:01
  • \$\begingroup\$ It's a market that changes, I'd probably look in cheap consumer devices, from mini camcorders down to keychain cams. \$\endgroup\$ – Chris Stratton Mar 1 '18 at 16:20

I suggest you look at BTC compression. A main advantage is that, once you set your parameters, you can calculate reasonable accurate how much CPU power it takes.

You still have to process 640x480x25 = 7.68 Mega pixels/sec. Thus a 64 MHZ MCU is unlikely to be able to do the job as that gives you only ~8 clock cycles per pixel. On top of that you need clock cycles to read it in and write it out. I think you need a 600 MHz ARM if you have no other hardware to support your video processing.

Then you want to 'record' the stream. Where to? You can write it to and SD card but that also uses up a good number of clock cycles.

"I feel I'm missing something quite obvious for everyone except me in this world for such a typical application." It may be typical but that does not mean it is easy.

Maybe just buy a Raspberry-Pi with camera....

  • \$\begingroup\$ With Atmel Sam cortex M7 I have hardware for camera interface i.e Bt.656 Digital video I/p \$\endgroup\$ – Vinod kumar Mar 1 '18 at 15:57
  • \$\begingroup\$ Choosing camera with Ras pi can't be the case. Because sensor is fixed for our application. \$\endgroup\$ – Vinod kumar Mar 1 '18 at 15:59
  • \$\begingroup\$ Can you elaborate how 600Mhz arm MCU can do that. \$\endgroup\$ – Vinod kumar Mar 1 '18 at 16:00
  • \$\begingroup\$ It is just an guesstimate from having ~80 clock cycles per pixel. BTC code itself would probably fit in the I cache, video 8x8 or 16x16 blocks in the D cache. As for using the Raspberry-Pi: I was assuming you would use a Pi camera. \$\endgroup\$ – Oldfart Mar 1 '18 at 16:43
  • \$\begingroup\$ Is there any c library for BTC compression. \$\endgroup\$ – Vinod kumar Mar 2 '18 at 2:33

Since even this $50 smartphone can record 1080p30 one way could be the cheapest smartphone SoC that is able to fulfill your needs. These are produced in high numbers, so the economy of scale is on your side...

In fact, a quick search reveals the Raspberry Pi SoC (even the Pi zero) seems capable of video compression at good performance, so you might want to experiment with that, it's pretty cheap... also it doubles up as microcontroller.

  • 1
    \$\begingroup\$ Can you suggest any smartphone soc for prototype procurement. Cost is not a matter. Can be higher for low volume \$\endgroup\$ – Vinod kumar Mar 1 '18 at 16:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.