Keep Calm and Customize a DSP – Hexagon SDK 1.0 Launches

Tuesday 10/1/13 08:04am
|
Posted By Steven Brightfield
  • Up1
  • Down0

When you port your speech and audio tasks from the CPU onto the DSP, you open the doors to high efficiency, improved performance and low latency. You can offer your users crystal-clear audio streams and a superior multimedia experience. But most DSP customization is beyond the reach of mobile app developers. It’s usually reserved for device manufacturers and specialty developers with enough time to write, test and integrate their modules by device launch. You want the benefits of customizing, but it’s a lot of work.

We’ve just made it easier for you to customize the Hexagon™ DSP in Qualcomm® Snapdragon™ processors. A lot easier.

We’ve released Hexagon SDK 1.0, a comprehensive software development kit. With the SDK you can customize the Hexagon aDSP for our Snapdragon™ 800 and 200 processor families either through general compute modules (FastRPC) or in the datapath of the custom post-processing modules (pp modules) for speech and audio.

Going from months of effort to a few hours

At Uplinq 2013 I moderated a panel on the Hexagon SDK, described what’s in the SDK and explained why we’re so keen to have you check it out

  • Easier integration with OEMs – You used to have to forge relationships with an OEM to get access to the tools, then write your customization, then test on the OEM’s release schedule. Now it’s easier for both you and the OEM. You can port a feature, test it immediately on your own DragonBoard™ or Mobile Development Platform, demonstrate it and ship code to the OEM to re-sign and integrate. What used to take months can now take as little as an afternoon to get your algorithm, working on Hexagon and a few weeks to test and provide it to an OEM for integration into their product.
  • Speech and audio – Qualcomm Technologies has been using Hexagon DSP for years to do all the speech and audio processing on Snapdragon, and many device manufacturers have also customized the Hexagon DSP for their own speech and audio features. Download the Hexagon SDK and join the club.
  • More use cases – Historically, the Hexagon DSP was used just for audio and speech processing. However, the SDK now also supports imaging, video and computer vision use cases. This is enabled by the FastRPC function. For imaging, video and computer vision , executing your algorithms on both the ARM with a boost from the DSP in a heterogeneous fashion rather than just on the ARM can mean higher performance and better concurrency – in other words, smoother multimedia for your users.
  • Lower power consumption – Some OEMs have reduced their power consumption by up to 5mA for audio use cases or for imaging use cases, cut their app’s CPU usage in half by porting a feature from the ARM to the DSP. Join that club, too.
  • Customize once, use many – You can port once to Android and your customization will work on QNX/BlackBerry, Windows Phone, WindowsRT and Linux. All that is needed is to update these HLOS kernels to enable the FastRPC functionality. Plus, if you customize for the smartphone ecosystem, your same customization can migrate to any compatible Snapdragon chipset and its Hexagon DSP go, including tablets, televisions, set-top boxes and automotive applications.
What’s inside the SDK and what can I do with it?

We’ve wrapped the tools and dependencies for development, testing and commercialization into a single, easy-to-use kit with everything that we and our OEMs have been using: Hexagon DSP tools, documentation in HTML, Unified APIs and libraries, an Eclipse plug-in, signing tools, test frameworks, a Hexagon aDSP executable image, software debug tools, a Hexagon simulator, profiler and resource analyzer.

You can get started with four use case templates: audio (adding audio post processing), base heterogeneous computing (calculator), imaging (decimation) and computer vision (edge detection).

Who else is using the Hexagon SDK?

Several developers exhibited their Hexagon DSP customizations at Uplinq:

  • AudioMAX-D took features in their audio enhancement library, put them on the DSP and bound them into their android application for smartphones for low latency and low distortion audio playback.
  • ImagingPelican Imaging uses the DSP for a mobile computational camera application, processing 16 simultaneous images into a depth map that allows users to change focus after the snapshot, apply filters, and scale and segment elements in the photo.
  • Voice qualityFortemedia’s customization for smartphones uses multiple microphones to form a “beam” and track the speaker for higher voice quality and a higher hit rate in voice recognition.
  • Computer vision – Music Pal from MuseAmi uses computer vision on the DSP to deconstruct and recognize notes from sheet music, then to process the notes and play them in real time.
Next steps

Ready to check out the Hexagon SDK and see what you can do with it? If you’ve done customizations before, I think you’ll find that the SDK makes the entire process much easier. If you’re new to working with the DSP and heterogeneous computing, you couldn’t ask for a better initiation.

How will you use the Hexagon SDK? In the Multimedia Optimization support forum, see what other developers are doing, then let me know your ideas in the comments below.

DragonBoard is a product of Intrynsic. Hexagon, Hexagon SDK and Snapdragon are products of Qualcomm Technologies, Inc. Mobile Development Platform is a product of Bsquare.