Picking a Camera with Punch
Offloading image-processing tasks to DSPs is allowing vendors to increase the performance and lower the cost of smart cameras for numerous applications
Andrew Wilson, Editor
Years ago, it was easy to distinguish between semiconductor components—so much so that processors, microcontrollers, and digital signal processors (DSPs) could all be neatly categorized by the functions they performed. Should a system require a general-purpose processor, for example, then the designer would choose from a number of processors by AMD, Intel, and Motorola.
For applications such as embedded control systems, microcontrollers (MCUs) that encompassed a stripped-down processor replete with Ethernet interfaces, UARTs, timers, and real-time clocks allowed smaller, less costly systems to be produced. Should a system require high-speed signal or image processing, designers could offload these functions onto DSPs that used a series of MACs to compute the function and return the result to the host computer. For image-processing applications particularly, this required the use of either a DSP and host processor with independent peripherals or a DSP with an MCU to perform system control functions.
Realizing the need to incorporate this functionality into their products, both Analog Devices and Texas Instruments now offer products that combine the benefits of DSPs and microcontrollers. By doing so, the system designer is no longer faced with the task of choosing a number of different components when building, for example, a smart camera. Instead, the integration of both DSP and microcontrol functions allows smart cameras to offer both fast image-processing and system control functions.
While both Analog Devices Blackfin processors and Texas Instruments DaVinci processors incorporate this combined functionality, the manner in which they do so is different. Blackfin processors include a 16-/32-bit embedded processor core with a 10-stage RISC MCU/DSP pipeline, variable length ISA, and SIMD support with instructions for accelerated video and multimedia processing. In this single architecture, the company has provided support for conventional CPU functions and DSP functions such as image processing. In the design of its DM6443, TI has integrated an ARM9 RISC processor, a separate TMS320C64x DSP as well as its DaVinci video accelerator into a single device.
In their product offerings, Analog Devices’ Blackfin and TI’s DaVinci series of processors offer products with multicore functionality, allowing image-processing tasks to be distributed across multiple processors. Here again, the approach of these companies is different. While the Blackfin dual-core processor replicates the same core, TI’s DaVinci series is offered as single-core RISC or DSP devices or, as in the case of the DM6443, a multicore DSP, RISC, and video accelerator engine.
More important, the range of on-chip peripherals such as watchdog timers, UARTs, and Ethernet interfaces allows these devices to radically reduce the footprint of smart cameras. For the designer of smart cameras, the introduction of these devices has allowed small-footprint cameras to be offered at reduced cost. Unlike smart cameras that incorporate x86-like architectures, the operating systems and software development tools that support these combined DSP/MCU processors are targeted firmly toward designers of embedded systems.
Real-time operating systems
By incorporating the Blackfin processor into their designs, developers can access a number of embedded real-time operating systems (RTOSs) such as RTXC Quadros from Quadros Systems as well as open-source Linux operating systems such as μClinux. Similarly, for its line of DaVinci processors, TI offers a DSP/BIOS RTOS that runs on the DSP in the device. To support the DM6443’s multiple DSP, RISC, and video accelerator engines, the DSP/BIOS Link drivers run on both the ARM processor and the DSP.
Because the DaVinci processor incorporates an ARM processor, it is also capable of supporting more general-purpose operating systems such as Windows CE. Designers faced with the task of programming these devices in their smart camera designs can use either VisualDSP (in the case of Blackfin processors) or Code Composer Studio (CCS) for DaVinci-based designs. Both software packages are integrated development environments (IDEs) that combine debuggers, C/C++ compliers, assemblers, linkers, and simulators into single software packages.
Developing camera systems based on these devices may at first seem intimidating, especially for developers used to Windows-based software development tools. Indeed, for this reason, a number of smart camera vendors have shied away from offering such products in their camera portfolios. Luckily, a number of third-party development tools, reference designs, and smart camera products are already available, providing those considering developing, purchasing, or embedding smart camera products into their systems with a low-cost manner in which to develop their machine-vision applications.
D3 Engineering, for example, is designing products for its customers based on DaVinci processors. According to Scott Reardon, CEO of D3 Engineering, the company is also extending its line of Camera Developer Kits (CDKs) to support TI’s DM643x evaluation module. This CDK allows engineers to start a CMOS- or CCD-based project on various families of TI DSPs.
For those wishing to develop products around these processors, a number of off-the-shelf development kits and reference designs are also available. At VISION 2008 in Stuttgart, Germany, Supercomputing Systems announced its leanXcam intelligent color camera that integrates a 752 × 480-pixel, 60-frame/s CMOS sensor from Aptina Imaging with an ADSP-BF537 Blackfin processor (see Fig. 1).
FIGURE 1. Supercomputing Systems leanXcam intelligent color camera integrates a 752 × 480, 60-frame/s CMOS sensor from Aptina Imaging with an ADSP-BF537 Blackfin processor.
The single-board smart color camera sports Ethernet, RS-232, and digital I/O interfaces, 64 Mbytes of SDRAM, and 8 Mbytes of on-board flash memory. The demonstration version of the camera, which sells for €270, runs under μClinux and provides software developers with a number of free open-source applications for image capture, manipulation, and web services (see “Open-source system wins VISION Award,” Vision Systems Design, January 2009, p. 11).
Like Supercomputing Systems, BesoVideo offers a reference design for cameras targeted at video security applications. The company’s design, the BVIPCAM-500A, is based on the Blackfin ADSP-BF561 dual-core processor and enables video capture using H.264 encoding.
To support TI’s line of DaVinci processors, TI and Aptina offer the DM355IPNC-MT5 high-definition (HD) IP network camera reference design based on TI’s DaVinci TMS320DM355 digital media processor and Aptina’s 5-Mpixel HD image sensor (see Fig. 2).
FIGURE 2. TI and Aptina offer the DM355IPNC-MT5 HD IP network camera reference design based on TI’s DaVinci TMS320DM355 digital media processor and Aptina’s 5-Mpixel HD image sensor.
With an electronic bill-of-materials cost of less than $40, the DM355IPNC-MT5 TI/Aptina reference design realizes a camera with a 1280 × 720-pixel image sensor and includes schematics and Gerber files, as well as free Linux application source code. Included in the source code are functions to perform integrated auto white balance and auto exposure, simple motion detection, dual-stream MPEG4 and MJPEG video codecs, and DaVinci IP network camera software. The $795 royalty-free reference design includes the camera, tripod, cables, and power adapter.
TI and Aptina are not the only companies that provide reference designs that incorporate TI’s processor family. Nuvation’s DaVinci IP camera reference design, for example, compresses color 720 × 480-pixel video in H.264, MPEG-4/H.263, or JPEG format, and streams video over Ethernet at 30 frames/s. In addition to a software encoder and embedded Linux, the DaVinci IP camera also incorporates Pixim’s Orca imaging chipset to improve image quality and color accuracy, which is important in video surveillance applications. Interestingly, this is the same chipset used by Lumenera in the design of its Li045, a camera also targeted at video surveillance applications.
For these applications, software packages from companies such as VCA Technology allow system integrators to develop embedded surveillance systems based around reference designs. Last year, VCA Technology announced that it had ported its video analytics software suite, VCAsys, to DaVinci-based processors. Cameras running the software can perform intelligent analysis of motion with application areas including intrusion detection, vehicle monitoring, object detection, and people counting.
The first company to take advantage of VCA’s software is Korean-based UDP Technology, which develops IP cameras and encoders. As a part of its IPE042 module, VCAsys will be integrated into 16 new camera products over the next few months.
Of course, not all smart cameras that incorporate embedded DSP/MCU processors are targeted toward video surveillance applications. Indeed, over the past few years, Analog Devices has seen a number of design wins for its Blackfin processor, most notably in cameras designed for machine-vision applications. These include a camera processor module developed by Bolton Engineering for a prototype thermal imaging camera from Redshift Systems, the AXT100 thermal infrared imaging camera from Ann Arbor Sensor Systems, and a portable x-ray system from Innov-X.
Last year, Analog Devices’ Blackfin processor also found success in a 3-D stereo imaging design targeted at robotics vision applications when Surveyor Corp. used the device in the development of the Surveyor SVS, a $550 stereo vision system designed for robotics, embedded image processing, and web-based remote monitoring (see Fig. 3).
FIGURE 3. The Surveyor SVS is a $550 stereo vision system, designed for robotics, embedded image processing, and web-based remote monitoring.
With onboard programmability and Wi-Fi connectivity, the Surveyor SVS can function as a wireless mobile stereo network camera for Internet video delivery or as an autonomous robotic controller. Comprising two Analog Devices Blackfin BF537 32-bit processors, two Omnivision OV9655 1.3-Mpixel cameras with 90° FOV lenses, motor control, servo, GPIO, I2C interfaces, and a Lantronix Matchport 802.11bg Wi-Fi radio, the design is published as open source under the GPL license, with schematics and software available for download from www.surveyor.com/blackfin.
TI’s DaVinci processor has also found applications in smart camera designs, most notably those from Vision Components. As one of the pioneers in DSP-based camera designs, the company has found great success in leveraging the expertise of third parties to develop embedded systems based around their cameras.
Last year, for example, the company demonstrated how OB Vision developed a fully automated system capable of inspecting glass as it moves through the production process using multiple VCSBC4018 cameras (see “Smart cameras perform glass inspection,” Vision Systems Design, September 2008). And, at VISION 2008, FiberVision showed how it had incorporated Vision Components camera into a system called LED-Check that analyzes the brightness and color of up to 250 LEDs in less than one second (see Fig. 4).
FIGURE 4. FiberVision has incorporated a Vision Components camera into a system called LED-Check that analyzes the brightness and color of up to 250 LEDs in less than one second.
While the number of design wins of embedded processors continues, some manufacturers remain wary of allowing developers to access the heart of their smart camera designs. In its latest range of smart cameras, National Instruments couples a TI DSP with a PowerPC. For applications that include pattern matching, Data Matrix code reading, or optical character recognition, the NI 1762 and the NI 1764 have an added 720-MHz TI DSP coprocessor. This coprocessor automatically handles these algorithms with up to a fourfold performance increase over the models without the coprocessor.
Rather than selecting this option, companies such as Matrox Imaging have chosen to use x86 compatible products such as the Intel Atom that support Windows-based development software. Used in the company’s latest Iris GT smart camera, the camera runs under the Windows CE operating system.
Interestingly, the choice of which processor to use in any smart camera design has led to a tradeoff for system developers. While low-cost reference designs are available for DSP/MCU-based systems, the price to be paid is one of software development costs and time-to-market issues. Those faced with simply deploying a smart camera in a production line environment can either turn to third-party embedded-system development houses or larger, well-established machine-vision companies that bundle machine-vision packages with their smart camera offerings.
Norwood, MA, USA
Ann Arbor Sensor Systems
Ann Arbor, MI, USA
San Jose, CA, USA
BesoVideo, Hefei, China
Melrose, MA, USA
Rochester, NY, USA
FiberVision, Würselen, Germany
Innov-X, Woburn, MA, USA
Lantronix, Irvine, CA, USA
Lumenera, Ottawa, ON, Canada
Matrox Imaging, Dorval, QC, Canada
Austin, TX, USA
Nuvation, San Jose, CA, USA
OB Vision, Berlin, Germany
Santa Clara, CA, USA
Pixim, Mountain View, CA, USA
Houston, TX, USA
Burlington, MA, USA
San Luis Obispo, CA, USA
Dallas, TX, USA
UDP Technology, Seoul, Korea
VCA Technology, Surbiton, UK
Editor’s Note: This entry from our November Worldwide Industrial Camera Directory was inadvertently excluded. For the complete directory, visit our web site at www.vision-systems.com.