What would you call this thing? If you had some sort of microprocessor chip that could transmogrify its own instruction set, compress video, do network encryption, recognize bad guys’ faces, talk to DDR3 memory, and manage a cluster of disk drives… what would you call it?
If you’re Stretch Incorporated, you call it the S7. This all-singing, all-dancing device is the third generation of Stretch’s difficult-to-categorize chips, and it costs about $10 to $30, depending on which options you want and how many you buy. If you’re in the video-surveillance business (you know who you are), you call it a one-chip solution to your many hardware and software problems.
Stretch has been making unusual and unusually interesting chips for years, but the company initially had a hard time describing what they did. It’s part microprocessor, part video processor, part peripheral controller, and all flexible. And it’s that flexibility that tripped people up. Except for FPGAs, designers are used to chips with well-defined functions: DRAM does this, Ethernet controllers do that, and so on. Stretch offered a whatever-you-want device, and customers cowered in fear. Not a good business strategy.
So Stretch looked upon the chip, and saw that it was good, and said “it’s a video-surveillance chip. Never mind how it works.” Sales have taken off ever since. There’s a good marketing message in that, but for now let’s take a peek at the technology.
Don’t Look Under the Hood
What makes Stretch’s technology cool is also what the company strives to hide. Its customers are generally interested in video technology, not microprocessor technology, and telling them too much about what happens under the hood tends to scare them off. It’s a bit like visiting a sausage factory: do you really want to know how your favorite hot dogs are made? There’s a reason Jello never gives factory tours.
In Stretch’s case, however, it’s all interesting, not scary. Stretch’s chip starts with a pretty routine 32-bit RISC CPU licensed from Tensilica. The Tensilica processor is unusual in at least one regard, and that is it can be extended. Silicon designers can add custom instructions to the Tensilica ISA. So, for example, if you’ve always wanted a processor with an XYZ instruction that did some funny bit-twiddling, here’s your opportunity. That’s all fine and dandy, and Tensilica has been licensing this technology for years. That’s not the cool part.
The cool part is that Stretch allows you to make these custom instructions on the fly, while the chip is running. Better still, you don’t have to get out your wrenches and screwdrivers to design the instructions; they’re generated automatically by the C compiler. You simply tell Stretch’s compiler what parts of your C code you want converted into custom CPU instructions, and it does all the hardware engineering behind the scenes. Voila! Your thorny software bottlenecks have been converted into gates that become part of the Tensilica processor—all without lifting an EDA tool or breaking a sweat.
If you create more than one custom instruction (which is common), the chip is smart about creating and destroying them on the fly, as they’re needed. All of this is invisible to you as a programmer. All you see is your C code running faster. Stretch hides all the magic behind the curtain.
All of this is pretty darned slick, but it tends to scare the bejabbers out of some embedded-system designers. Many of Stretch’s customers don’t have PCB-design experience, much less CPU-design experience. They just want a chip, board, or box to capture and analyze their video. Stretch is happy to oblige, offering board-level products as well as its customizable chip. In fact, board-level products are a big part of Stretch’s overall revenue picture. Sometimes hiding your light under a bushel is the commercially prudent thing to do.
Many Cameras, Much Processing
Closed-circuit video surveillance is more common than you might suspect. City buses often have a few cameras keeping track of the passengers. Train and subway stations watch the platforms. Casinos watch everything.
In ye olden tymes, security guards watched all this video on a wall of black-and-white monitors. Not only is that boring, it’s inefficient. It also requires a whole lot of video cables and VCRs (or possibly DVD recorders) to archive all that video. More recently, standard video cameras have been replaced with high-definition IP cameras that connect over Ethernet the same way that computers do. And computers have replaced the VCRs as recording devices. Computers are also pretty good at cleaning up fuzzy or distorted video. They’re even halfway decent at recognizing what they’re looking at, like detecting an unauthorized truck backing up to the loading dock at 3:00 AM.
All of this digital surveillance means the cameras, the computers, and the security guards have to be a lot smarter than before. Stretch can help with the first two. Its chips absorb 4 to 16 channels of H.264 video, compress it, massage it, filter it, de-warp the effects of fisheye lenses, repair bad pixels, and much more. Multiple S7 chips can even be daisy-chained together for massive camera multiplexing, filtering, and storage.
In addition to all of its built-in functions, users can program the chip with their own special filters, functions, or algorithms. And as we saw before, that “programming” can take the form of new hardware instructions, too, not just more code. So there’s a lot of room for video wonks to innovate and integrate. The on-chip IPsec means your video can stay secure over the network, and the RAID disk controller means drives pretty much just plug in. PCI Express keeps the S7 connected to the rest of your system, including other network or security chips.
Whatever your views on the ethics or legality of video surveillance, it’s a common-enough feature in public buildings, transportation centers, banks, casinos, and city streets. Enough so that it’s created a lucrative market niche, for Stretch as well as many other makers of cameras, DVRs, and networking infrastructure. If nothing else, it’s made the security guard’s job easier and a bit less boring.