You are here:  Articles


 
 
 
INSIDE DSP ARTICLES  

Current Articles | Categories | Search

Inside DSP on Video: Smart Processor Picks for Digital Video
By , 3/29/2004

Adam Lins contributed to this article.

Processor vendors offer a dizzying array of options for digital video applications. Selecting the right processor from the myriad options—and understanding the tradeoffs associated with each choice—is key to getting digital video products to market at the right time and at the right price.

In this article we introduce basic concepts needed to select a processor for a digital video application. We begin with a discussion of the processing needs of a typical video application. Next, we present a methodology for structured selection of a processor. We then present a guide to the processor options, and explore the strengths and weaknesses of each option.

Application requirements
To understand the processing needs of a digital video, consider a typical consumer digital video product. A generalized software model for a consumer digital video product is shown in Figure 1.

A few key software components dominate the composition of a typical consumer digital video application. These components are a “player,” digital rights management (DRM) software, decoder(s) and/or encoder(s) (collectively known as “codecs”), pre-processing and/or post-processing, I/O software, and the operating system. The requirements for these components are summarized in Table 1 and are discussed in detail below.
Table 1
Click to Enlarge

(For a look at the hardware components inside a typical consumer digital video product, see the Panasonic personal video recorder discussed in David Carey's "Under the Hood" column.)

Player
The player is the software module that links user, content, and codec. The player’s capabilities vary depending on the features of the application. In general, the player provides the user interface (perhaps via an on-screen menu system) and controls the DRM, codec, and relevant I/O modules.

The player is typically a highly complex piece of software with a large set of features. Consequently, the player is often one of the largest components in terms of both memory footprint and lines of code. Despite its complexity, the tasks and responsibilities of the player generally require only a modest amount of computation resources—typically less than 10% of the application's total computational load.

Due to their size and complexity—and their generally modest computational requirements—players are often implemented entirely in C or C++ and compiled without extensive optimization. This makes the availability of a high-quality compiler key to good player performance.

Digital rights management
The DRM module is concerned with protecting content, typically using an encryption scheme. Different DRM systems are used for different types of content and by different content distributors. For example, the type of copy protection used on DVDs differs from the type of copy protection used by Internet-based movie distribution services. DRM schemes generally use algorithms with relatively low computational demands, and they operate on the compressed-data side of the codecs where data rates are lower. DRM implementations have small footprints; a few kilobytes of memory for both instruction and data is typical. DRM algorithm providers do not want their algorithms to become known to the public—particularly to hackers who could break their copy-protection schemes. Consequently, DRM software is often provided as binary (that is, precompiled) code. Because binary code can only be used for one specific processor family, the availability of the required DRM software can be an important consideration when selecting a processor.


Previous Page | Next Page
 
 
Fast Tracking
Advertise on InsideDSP
  
HomeAbout Inside DSPArticlesSearch ArticlesArchivesResourcesContact UsSubscribe to Inside DSPAdvertise with Inside DSP
Copyright 2006-2008 by BDTI  |  Terms Of Use  |  Privacy Statement
  |