Software Development

Inside DSP on Digital Video: H.264: the Video codec to watch

Digital video found its first big consumer market in DVD players, and has moved on from there. Now you can buy digital set-top boxes, camcorders, personal video recorders (PVRs), portable media players, and even digital-video-enabled cell phones. Products that can only handle analog video will soon be extinct; they’ll be relegated to technology museums, sitting next to vinyl records and eight-track tape players. The mass migration from analog to digital video has been enabled by video Read more...

Inside DSP on Digital Video: Developing Software for a Digital Video Product

Implementing real-time video processing functions in software is a challenging task. In this article we explore the particularly difficult challenges presented by video compression algorithms. Although we focus on video compression algorithms, the ideas and techniques in this article also apply to other types of video processing software. What’s Unique about Video Software? Software development for video applications presents many of the same challenges as those found in other embedded Read more...

Inside DSP on Digital Video: Growing a digital video ecosystem

A few years ago, it seemed obvious that we were on the verge of a major change in how consumers obtain and view movies at home. There would be no more schlepping out to the video store to rent a DVD; with the increasing availability of digital video content on the Internet, it seemed clear that everyone would shift to streaming video, to video-on-demand, to any-movie-anytime-with-no-late-fees. The video stores all would close down and become Starbucks cafes or yoga studios. This hasn’t Read more...

Case Study: Managing Offshore Software Development

Increasingly, processor vendors need to deliver extensive software libraries optimized for their processors. In the realm of signal processing applications, this software may include large libraries of building-block functions (filters, transforms, etc.), application modules (such as audio or video compression algorithms), and complete end-product reference designs. To meet these software needs, many processor vendors are attracted to offshore software development firms due to their low Read more...

Khronos Announces Cross-Platform Multimedia API

On July 6, the Khronos Group announced OpenMAX, an application programming interface (API) covering a set of basic functions used in graphics, still image, audi o, and video software. For example, OpenMAX will include API calls for video decompression sub-functions like the inverse discrete cosine transform. OpenMAX is intended to be a cross-platform API, enabling programmers to use the same function calls across a wide range of architectures. According to Khronos, OpenMAX is a response to Read more...

Case Study—Benchmarks for Tools, Software Libraries, and More

System developers often rely on processor benchmarks to gauge system performance. However, the processor is just one of many components that determines overall performance. Fully understanding system performance requires careful analysis of many other elements, such as code-generation tools and third-party software libraries.   Unfortunately, a host of factors can confound attempts to analyze these components. For example, it is difficult to prevent variations in programmer skill and style Read more...

Inside DSP on Low Power: Designing Low-Power Signal Processing Systems

Many embedded signal-processing systems require good energy efficiency. Some devices, such as medical implants and wireless sensors, must operate for years on just one battery charge. To do so, these devices must consume only microwatts of power—a significant design challenge to say the least! Larger devices such as cellular phones and multimedia-oriented PDAs can afford larger batteries and higher energy consumption, but they also must support heavy processing loads. Today's cellular phone Read more...

Embedded C Adopted and Explained

Last month the ISO officially adopted Embedded C, an extension to the C programming language that will ease signal processing software development. The ISO will publish the Embedded C specification as a “technical report.” An ISO technical report is similar to a standard, but carries somewhat less authority. Two features of the Embedded C specification are particularly relevant for signal processing applications. First, the specification supports fixed-point data types, which are often used Read more...

Inside DSP on Video: Squeeze Play—How Video Compression Works

Digital video compression/decompression algorithms (codecs) are at the heart of many modern video products, from DVD players to multimedia jukeboxes to video-capable cell phones. Understanding the operation of video compression algorithms is essential for developers of the systems, processors, and tools that target video applications. In this article, we explain the operation and characteristics of video codecs and the demands codecs make on processors. We also explain how codecs differ from Read more...

Inside DSP on Audio: Building Good Audio Software

Audio processing functions are usually implemented in software (rather than fixed-function hardware) because software provides flexibility that is not available with hard-wired solutions. For example, compressed audio players are typically required to support a variety of different algorithms such as MPEG-1/Layer 3 (MP3), Windows Media Audio (WMA), and MPEG-AAC. As algorithms evolve, and as new algorithms are introduced, designers of software-based products can upgrade their devices. In this Read more...