Datacube Inc.
Datacube Inc. (1978–2005) was an image processing company that developed real-time hardware and software products for the industrial, medical, military and scientific markets.
Early history
Datacube was founded in the mid-1970s by Stanley Karandanis and J Stewart Dunn. In the early days, Datacube manufactured board level products for the Multibus, which was one of the first computer buses developed for microprocessors. Early boards designed by Dunn were PROM, RAM and character generator boards. Of these, character display boards such as the VT103 and VR107 were the best sellers, and were used in programmable read-only memory (PROM) programmers and similar systems.
Karandanis, Datacube's president and CEO, in his early career followed the leaders in the semiconductor field from Bell Labs through Transitron to Fairchild Semiconductor. Karandanis was director of engineering at Monolithic Memories (MMI) when John Birkner and H.T. Chua designed the first successful programmable logic device, the programmable array logic (PAL) device. His contacts in the semiconductor field were instrumental in providing Datacube with components for its products.
An OEM asked Datacube if a frame grabber could be built on a Multibus board. At the time, a frame grabber was a large box with multiple boards. The VG120 was the first ever commercial single board frame grabber: based on programmable array logic (PAL), it had 320 x 240 x 6 bit resolution, grayscale video input and output.
Karandanis hired Rashid Beg and Robert Wang from Matrox to develop the first Q-Bus (DEC LSI-11) frame grabber. They developed the QVG/QAF120 dual board, 8-bit product primarily for a new startup named Cognex. While the latter were developing the hardware for Datacube, they were also planning to spin off and form a competitor, Imaging Technology, which was later purchased by Dalsa.
To recover from this loss, and to complete the QVG120 product, Dave Erickson was hired as a consultant in 1981 from Octek, by the engineering manager Paul Bloom. Dave came on full-time in 1982, as did Dave Simmons who was to head applications, and Bob Berger, who was to head software. At this time, Imaging Technology Inc. (ITI) was developing a line of frame grabber products for Multibus and Q-bus, with a 'real time' image processor based on a single point multiplier, adder and lookup table (LUT). In 1983, Karandanis hired Shep Siegel from Ampex, who had worked on the advanced and successful Ampex Digital Optics (ADO) real-time video spatial manipulator for the broadcast TV market.
With Dunn's help, Simmons developed the VG123 Multibus and Q-bus frame grabber boards. During this development, Paul Bloom was killed in what was apparently a gangland style murder. The mystery of why this happened has never been solved. Dave Erickson was promoted to engineering manager to replace Bloom.
Siegel came to add the SP123 image processor to the '123 family. But having worked on ADO, Siegel saw the limitations of the single-point architecture, and had a vision of what could be done by applying pipelined real-time imaging. He came with an understanding of digital signal processor devices (DSPs), image processing, filtering, and 2D warping, and with programmable logic in hand, saw what could be done.
Erickson and Dunn had developed frame grabber boards deployed on most standard busses. Each potential new customer required features not currently available, and designing, laying out (using hand taped artwork) and manufacturing a board for a single customer was risky, slow and expensive. What was needed was a way to leverage the technology developed so that it could be applied to a wider customer base. Erickson felt that a modular architecture where functions could be easily added and a system tailored to a customers needs was critical.
At this time, the VME bus was being introduced by Motorola for their Motorola 68000 processors. The automotive and military markets liked the VMEbus because it was open and rugged. Datacube developers embarked on a marketing road trip to visit potential customers in the medical, automotive and military markets to inquire what imaging functions they needed.
MaxVideo 10
A Modular and expandable system based on the VMEbus form factor could meet many customer needs. MaxVideo and the MaxBus were born. Marketing research determined the primary functions required and a road map for the next few years. The first seven MaxVideo boards were Digimax (digitizer and display), Framestore (triple 512^2 framestore with unprecedented density), VFIR (first real-time 3x3 image filter, SNAP (3x3 Systolic Neighborhood Array Processor), Featuremax (real-time statistics) SP (single point general purpose processor) and Protomax (MaxVideo prototyping board). 10 beta customers were lined up to receive the first 7 boards. MaxWare was the software and drivers written to control the new boards.
The first demo of the new hardware consisted of a camera's output being processed in real time by VFIR and displayed on a monitor. Siegel wrote a loop that varied the VFIR coefficients on a frame-by-frame basis to demonstrate not only the video real-time functionality, but that the function could be easily changed. In the spring of 1985, the product was not production-ready, so private viewings were set up with potential customers at the Detroit Vision '85 show. Customers' reaction was positive and three months later the first shipments to customers went out.
MaxBus was based on the '123's expansion bus. It required accurate synchronization: clocking and timing of each board plus a flexible way to route data from function to function. A simple differential ECL bus with a driver on one end and terminator on the opposite end was used. For data, 14 pin ribbon cables allowed 8-bit 10 MHz data to be routed from any output to any input.
At this time the company started to grow. Barry Egan was brought on to head manufacturing, entrepreneur Barry Ungar was brought on as President. Bob Berger expanded the software department, and moved the main computers from CP/M machines to Unix machines based on LSI-11s from Digital Equipment Corporation. A Unix based Pyramid mainframe computer was purchased for hardware and software development. Berger bought the first Sun workstations and set up an Ethernet LAN. He registered "datacube.com" as the 68th internet domain name in existence (now owned by Brad Mugford). In hardware, John Bloomfield was hired from Ampex.
The second tier of MaxVideo products was developed. Siegel began the first image warper consisting of Addgen, Interp, and XFS. John Bloomfield expanded the fixed 512 x 512 processing to include Regions-of-interest (ROI) processing. He began developing with the new FPGAs from Xilinx. RoiStore, MaxScan (first arbitrary sensor interface), VFIR-II and MaxSigma. These products established Datacube as the technology leader in real-time imaging.
It was clear that a better way than the low-level control of MaxScan was needed to manage complex new imaging pipelines. ImageFlow was developed. It provided full pipeline delay management and optimization, and a consistent API for programming imaging hardware. Key software programmers were brought on: Ken Woodland, Stephen Watkins and Ari Berman.
Recognizing that not every imaging function could be best done in a pipeline, Siegel teamed with Analog Devices new digital signal processor (DSP) group to develop Euclid, based on the ADSP-2100. Color digitization was required for some markets, so Siegel teamed with broadcast consultant Robert Bleidt to develop Digicolor.
Datacube's first generation image warper caught the attention of the 'image exploitation' industry and in particular, Lockheed. Later, Siegel developed the second generation warper for ROIs: Addgen MkII, based on the Weitek 3132, and Interp MkII. Dunn developed Megastore to handle the large images that this market required. By now the original SP and Featuremax were running out of steam so SP MKII and FeaturemaxMkII were developed. Erickson developed MaxMux, the first Datacube board to use a custom ASIC. The MaxMux ASIC was also used on ROIStore to route signals.
To address the need to combine imaging and workstation graphics, Dunn and Erickson developed MaxView, a high resolution display with the ability to perform real time image display in a window. Watkins ported X Window to this display. Despite the fact that a single box of maxVideo hardware could replace a room full of hardware at Lockheed, the product was not bought. Lockheed made too much money on the legacy system to want to update to the newer, smaller, better system.
A typical system now consisted of a MaxBox 20 slot VMEbus chassis with up to 20 boards installed. The largest MaxVideo system ever built was by Honeywell for aerial target identification. It consisted of five 20 slot chassis full of MaxVideo Hardware. A new MaxBus repeater was developed for these very large systems. Another important design-in for MaxVideo 10 was the FLIR pod test system built by Martin Marietta. Sandia National Labs adopted MaxVideo for a Radar image targeting system.
MaxVideo 20
The next step was to implement up to a full rack of MaxVideo 10 hardware in a dual slot VMEbus package, increase the pipeline to 20 MHz, maintain the modularity and flexibility, and eliminate most of the blue MaxBus cables. MaxVideo 20 was born. This required a new 3-port image memory module base on the 72 pin SIMM form factor and was developed by Dunn. Up to 6 memories were used on each Max20. Max20 also leveraged a new line of Imaging chips from LSI Corporation, including a 32 x 32 digital crosspoint and an 8x8 20 MHz finite impulse response (FIR) filter. Dunn developed a new display controller, AG capable of up to 40 MHz display, and Erickson developed a new family of 20 MHz analog and flexible digital front ends, AS and AD. Dunn developed the color digitizer, AC. Another feature of MaxVideo20 was the new general processing ASIC, AU developed by Dunn. This device contained many innovative linear, nonlinear and statistical imaging functions. Its architecture was to be the core of not only Max20 but the next generation imaging system as well. Built in the pre-RTL age of schematics, Dunn's AU ASIC incorporated booth multipliers designed by mathematician Steve Gabriel.
The memory SIMM was implemented with CPLDs, FPGAs and Graphics DRAM. It was limited to 1MB of memory and required 14 devices tightly packed onto the SIMM. Siegel developed VSIM, a fast and powerful ASIC to control high density SDRAMS and built a 3 device replacement SIMM. It was a triple ported image memory capable of 1, 4 or 16MB memory sizes, up to 40MB/s input and output bandwidths, and contained numerous image processing functions as well. VSIM technology was to be used on numerous future products.
A number of MaxModule processing modules were developed for MaxVideo 20. One of these was Siegel's MiniWarper, a 20 MHz real-time warper based on a new ASIC design, MW4242. With the advent of MaxModules, it was now possible to implement an imaging function on a small and simple board with much less overhead than a full VME board.
IBM military division in Gaithersburg MD was interested in a new image exploitation system, and so Datacube developed a third generation exploitation system for them. This powerful system used an extremely high bandwidth image memory and an address generator by Erich Whitney, capable of 7x7 spatial transformation matrices, all calculated with double precision floats. A powerful new display system, XI was developed to display the results.
Unfortunately, due to the lack of a firm contract, IBM took only a couple of these systems and one year of Datacube's talented engineering efforts were effectively wasted. But Datacube had other projects going. It leveraged several key technologies with MaxVideo 20. An off-the-shelf disk storage system was integrated to be used for medical and image exploitation systems, but this system had unsolvable technical problems, so Siegel developed MD, based on an off-the-shelf external SCSI RAID box. A 12 bit digitizer, Digi-12 was developed by Erickson and was a key element in the Picker Digital Radiology system. Datacube designed an interface to a Sky array processor to obtain a GE military contract for a submarine sonar system.
MaxPCI
Until 1996, MaxVideo has been entirely VMEbus based. VMEbus, Unix, OS-9, VxWorks and Lynx-OS had served markets well, but Windows 95 and Pentium-based personal computers (PCs) with PCI bus were coming on strong. Clearly a PC version of MaxVideo was required. MaxPCI was developed over 2 years. VSIM was already capable of MAX PCI's target processing speed of 40 MHz, but everything else needed to be updated or redesigned. The core of MaxPCI was a new, giant crosspoint ASIC: 50 x 40 x 8 with full ROI timing crosspoint and many imaging functions as well, developed by Whitney. Dunn redesigned the AU ASIC to operate at 40 MHz, and a new statistics unit was developed. Tim Ganley developed the acquisition subsystem and Simmons developed a new family of 40 MHz analog and digital front-ends, QA and QD.
For an integrated display, a VGA board from another imaging company, Univision was used. For a real-time disc solution, Shep developed NTD, a software solution for real-time disc access.
Meanwhile, Datacube recognized the need to better help its customers develop complex solutions in the medical, web inspection and machine vision markets. So three vertical integration development groups were formed. Siegel headed Medical, Simmons headed Web, and Scott Roth headed Machine vision. Each of these groups developed systems for OEMs in their respective markets.
MaxVision Toolkit
In 1995, the machine vision group produced the MaxVision Toolkit, a software library for image acquisition, object finding, metrology, inspection functions, and camera calibration. More specifically, the Toolkit provided image acquisition (normalized correlation and connectivity), metrology tools (line fitting, arc fitting, and edge locators), inspection tools (golden template, pixel counting, and histogramming), image processing tools (Sobel edge filters, cross-gradient edge filters, threshold operations, morphology, image arithmetic, image copy, X & Y projections, and convolutions), and high accuracy calibration that corrected for perspective distortion.
Swami Manickam, Scott Roth, and Tom Bushman of the machine vision group developed a significant tool called the Finder which performed intelligent normalized grayscale correlation that is invariant to rotation, scaling [to a limited extent], and perspective distortion. [1] The effort resulted in a patent.[2]
Datacube designed and manufactured a single-board image processor with an embedded PowerPC CPU for the VMEbus, called mvPower. Datacube introduced MvTD, a compact machine vision system using mvPower. It had four front panel connectors for Hirose-type camera inputs, four auxiliary connectors, two serial ports, a PCI mezzanine card carrier connector, a display connector, and an acquisition connector.
Next, Datacube created the mvPower-PCI with similar specifications as mvPower for VME. Both boards used Datacube ASICs for custom image processing and image acquisition. The MaxVision Toolkit ran on these boards using the VxWorks real-time operating system.
Technologies
Karandanis' contacts in the semiconductor market gave Datacube a competitive edge in applying new technologies. In the early days, Video digital-to-analog converters (DACs) were large modules or expensive and power hungry bipolar devices. Datacube worked with Silicon Valley startup Telmos to develop the first integrated Video DAC. This was used on the '128 family as well as Digimax. It was the starting point for all Video DACs and RAMDACs by Brooktree and others. Datacube was to ride several technological waves including fast ADCs, disk drives, DRAM, DSP devices and custom ASICs.
Programmable logic was the key to Datacube's functional density: from the early days of bipolar programmable array logic (PAL) and programmable read-only memory (PROM) to generic array logic (GAL), to every generation of FPGAs from Xilinx and then Actel and Quick Logic, and Altera CPLDs. Many semiconductor manufacturers acknowledged that Datacube could help bring their new products to market. Datacube was an ideal beta site and they shared their roadmaps, latest offerings, and support.
ASICs were critical to Datacube's success. From the first small crosspoint: 3000 gates in 2 micrometres, AU: 40,000 gates in 0.8 micrometre, through VSIM, MiniWarper, AU40 and IXP. Each of these devices were leveraged across several products. After IXP the density and cost of FPGAs began to catch up to full ASICs and so FPGAs were the technologies of choice.
What happened?
Datacube was always a hardware-centric company. Its products competed against software solutions running on CPUs. When CPUs were in the 100-1000MIPS range, Datacube's 1G-10G solutions were very appealing. When CPUs and multi-core CPUs began to exceed 1000 MIPS, Datacube solutions were no longer needed, except for the very highest end applications. And the profits on these applications were not adequate to sustain a business.
The MaxVision Toolkit ran on CPU's, so it survived. It was licensed to a few companies over the years and the source code was ultimately purchased by Scott Roth, previously VP of Machine Vision.
Datacube managers always had the attitude that the best way to protect intellectual property (IP) was to stay ahead of competition, and felt that patents were a waste of time and money, attracting competition and potential infringement suits. So despite the many inventions, firsts and ideas developed, there were few patents filed. This lack of patents ultimately left no base of technology to licensing opportunities.
References
- Swami Manickam, Scott D. Roth, Thomas Bushman, ‘’Intelligent and Optimal Normalized Correlation for High-Speed Pattern Matching‘’, NEPCON WEST 2000.
- Swami Manickam, Scott D. Roth, Thomas Bushman ,Patent #6,272,247, ROTATION AND SCALE INVARIANT IMAGE FINDER