If you want to add your own twist to a codec or video-processing technique, upgrade equipment in-system, or simply look for a less expensive solution, skip dedicated silicon and go with a DSP chip or an FPGA that can be updated in-system.
If you're looking for an IP solution, Hantro sells encoder/decoder IP that can handle MPEG-4 Simple Profile, H.263 Profile 0, H.264 Baseline, VC-1 Simple Profile, and JPEG codecs. Hantro's IP solutions may be purchased as encoders, decoders, or codecs. They target mobile environments with high performance coupled with low power consumption and CPU load.
Another company offering licensable IP is W&W Communications with its baseline-and high-profile H.264/MPEG-4 IP offerings. These target design with Altera's Stratix II FPGAs. Both Hantro and W&W Communications have software-only IP offerings, as well as such hardware-based offerings.
DSP, PARALLEL-PROCESSOR SOFTWARE PROCESSING
To stay current and take advantage of built-in speed, software codecs and algorithms running on a DSP or parallel processor designed with digital video in mind may be the best choice. First, let's consider the software that can be loaded into your favorite DSP or video processor.
The MathWorks offers the Simulink family, a GUI and model-based design approach that lets designers use intuitive block diagrams while developing video-and image-processing systems. As with other model-based design approaches, system-level models may be shared with other designers while reducing the need to build expensive physical prototypes. Once the design is refined and validated, designers can automatically generate code from the model, eliminating the need for hand coding and the potential errors introduced by manual coding.
"In many situations, standard algorithms and off-the-shelf solutions are not sufficient to solve challenging video-processing problems," says Bruce Tannenbaum, marketing manager for image and video applications at the MathWorks. "Engineers need tools to develop and evaluate ideas and then quickly get their results into production systems."
"With Simulink and the Video and Image Processing Blockset, engineers can design innovative video-processing solutions that can be easily targeted to a microprocessor, a DSP, an FPGA, or an ASIC," Tannenbaum adds. "Simulink is our platform for Model-Based Design, which is a development process that improves communications among engineers and reduces the potential for errors that cause design rework, resulting in a shorter development cycle."
One of the issues in using ASICs or ASSPs is that they can quickly become outdated with the rise and fall of the latest codec and display processing algorithm. This isn't the case when a DSP or parallel video processor is used in place of an ASIC or ASSP.
Connex Technology offers a massively parallel video-processing IC that can handle any codec while simultaneously handling pre- and post-processing algorithms. In addition, the device's memory structure has enough bandwidth for multiple high-definition video streams. And unlike reconfigurable gate-array alternatives, the CA1024 provides a compact, homogenous vector processor (see "Hot Chips 18 Serves Up Another Summer Scorcher," at www.electronicdesign.com, ED Online 13165).
Analog Devices has an embedded processor that includes a 16-bit RISC processor and DSP engine, known as Blackfin, that targets low-power portable applications such as cell phones and living-room applications. Blackfin devices come standard with one or two cores running at 600 MHz. Each core includes two 16-bit MACs, two 40-bit ALUs, four 8-bit video ALUs, and a 40-bit shifter. Other features include on-chip memory, glueless video I/O, full-duplex I2S channels, 16-channel DMA controllers, and general-purpose timers/counters.
Texas Instruments has a full line of DaVinci DSPs that target video processing and include an ARM9 processor. They run at speeds up to 720 MHz and provide multiple ALUs and multipliers. They also come standard with L1/L2 cache and on-chip RAM, a multichannel DMA controller, Ethernet MAC, glueless video ports, a host port interface, McASP ports, a PCI interface, and I2C bus.