Pixar Image Computer


The Pixar Image Computer is a graphics computer originally developed by the Graphics Group, the computer division of Lucasfilm, which later became Pixar. Aimed at commercial and scientific high-end visualization markets, such as medicine, geophysics and meteorology, the original machine was advanced for its time, but sold poorly.

History

Creation

When George Lucas recruited people from NYIT in 1979 to start Lucasfilm's Computer Division, the group was set to develop digital optical printing, digital audio, digital non-linear editing and computer graphics. Computer graphics quality was just not good enough due to technological limitations at the time. The team then decided to solve the problem by starting a hardware project, building what they would call the Pixar Image Computer, a machine with more computational power that was able to produce images with higher resolution.

Availability

About three months after their acquisition by Steve Jobs on February 3, 1986, the computer became commercially available for the first time, and was aimed at commercial and scientific high-end visualization markets, such as medical imaging, geophysics, and meteorology. The machine sold for $135,000, but also required a $35,000 workstation from Sun Microsystems or Silicon Graphics. The original machine was well ahead of its time and generated many single sales, for labs and research. However, the system did not sell in quantity.
In 1987, Pixar redesigned the machine to create the P-II second generation machine, which sold for $30,000. In an attempt to gain a foothold in the medical market, Pixar donated ten machines to leading hospitals and sent marketing people to doctors' conventions. However, this had little effect on sales, despite the machine's ability to render CAT scan data in 3D. Pixar did get a contract with the manufacturer of CAT Scanners, which sold 30 machines. By 1988, Pixar had only sold 120 Pixar Image Computers.
In 1988, Pixar began the development of the PII-9, a nine-slot version of the low-cost P-II. This machine was coupled with a very early RAID model, a high performance bus, a hardware image decompression card, 4 processors, very large memory cards, high resolutions video cards with 10-bit DACs which were programmable for a variety of frame rates and resolutions, and finally an overlay board which ran NeWS, as well as the 9-slot chassis. A full-up system was quite expensive, as the 3 GiB RAID was $300,000 alone. At this time in history, most file systems could only address 2 GiB of disk space. This system was aimed at high-end government imaging applications, which were done by dedicated systems produced by the aerospace industry and which cost a million dollars a seat. The PII-9 and the associated software became the prototype of the next generation of commercial "low cost" workstations.

Demise and legacy

In 1990, the Pixar Image Computer was defining the "state of the art" in commercial image processing. Because the computers were too expensive to sell in large quantities, the decision to sell the hardware to Vicom Systems was the catalyst for Pixar to lay off its hardware engineers and sell the imaging business. Fewer than 300 Pixar Image Computers were ever sold.
The Pixar computer business was sold to Vicom Systems in 1990 for $2,000,000. Vicom Systems filed for Chapter 11 within a year afterwards.
Many of the lessons learned from the Pixar Image Computer made it into the Low Cost Workstation and Commercial Analyst Workstation program guidelines in the early and mid-1990s. The government mass deployment that drove the PII-9 development occurred in the late 1990s, in a program called Integrated Exploitation Capability.

Design

The P-II could have two Channel Processors, or Chaps. The chassis could hold 4 cards. The PII-9 could hold 9 cards. NeWS was extended to control the image pipeline for roaming, image comparison, and stereo image viewing.
Each Chap is a 4-way parallel image computer. This was a SIMD architecture, which was good for imagery and video applications. It processed four image channels in parallel, one for red, one for green, one for blue, and one for the alpha channel. The Chaps did 16-bit integer arithmetic.
The memory for images only stored 12 bits per color channel. 4 bits of extra precision were added to the end when loaded into the Chaps.
A Unix host machine was generally needed to operate it. The system could communicate image data externally over an 80M per second "Yapbus" or a 2M per second multibus to other hosts, data sources, or disks, and had a performance measured equivalent to 200 VUPS, or 200 times the speed of a VAX-11/780.

PXR File Format

Pixar Image Computer uses the 'Pixar storage standard' PXR File format. PXR file have structure:
1. Header
2. Tile pointer table
3. Picture data
Origin of image is left top corner. All data in file use small-endian byte order.

Tile pointer table (8 × numberTiles bytes)

The tile pointer table starts at byte 512 from the start of the file and has 1+ tile pointers.
512 Tile pointer 1Address of tile 0 Length of tile 0 data
520 Tile pointer 2Address of tile 1 Length of tile 1 data
............

To calculate the number of tiles for x direction:
1 + /tileWidth
and y direction:
1 + /tileHeight
Tile order is sweep from left to right, from top to bottom; first tile 0 is at left top of picture and last tile is at right bottom of image.

Dumped & Encoded Pixel Data

Picture storage can have values:
1. 0 - 8-bit channels encoded
2. 1 - 12-bit channels encoded
3. 2 - 8-bit channels dumped
4. 3 - 12-bit channels dumped
Dumped tiles store pixel data direct with order RGBA, RGB, or R for whole tile and no have extra byte or mark show end of scan line. Encoded tiles use packets for store image data. Each packet have 2 byte header and encoded pixel data after. Two byte header have flag and count for packet, flag is 4 low bits of byte 2, count is top 4 bits of byte 2 combine with 8 bits of byte 1 create 12 bit count. Flag have values:
FlagCountRGBARGBRcomment
0no useend of disk block
1useRGBA RGBA...RGB RGB...R...full channel dump
2useλRGBA λRGBA...λRGB λRGB...λR λR...full channel run
3useA RGB RGB...no useno usepartial channel dump
4useA λRGB λRGB...no useno usepartial channel run

For flag value 1 and 3, count is p - 1 number of pixels dumped in packet. For flag value 2 and 4, count is n - 1 number of run lengths in packet, λ is 1 byte store p - 1 number times repeat same pixel. Flag value 3 and 4 only use one A value for that packet and store only RGBA data. One packet never store pixel data from different scan lines but each scan line can use different/any flag.

Pixar 12 bit pixel format

Pixar Image Computer and PXR use special 12 bit fix point format have range -1.5; 2.5), with 10 bits of precision.
BitsValueOverflow
1010 0000 0000−1.5Y
1100 0000 0000−1.0Y
1110 0000 0000−0.5
0000 0000 00000
0010 0000 00000.5
0100 0000 00001.0
0110 0000 00001.5Y
1000 0000 00002.0Y
1001 1111 11112.4995...Y

16-bit coefficient values

Pixar Image Computer also has special 16-bit fixed-point data type and 14 bits of precision.
bitsvalue
1000 0000 0000 0000-2.0
1010 0000 0000 0000-1.5
1100 0000 0000 0000-1.0
1110 0000 0000 0000-0.5
1111 1111 1111 1111-0.00006103515625
0000 0000 0000 00000.0
0010 0000 0000 00000.5
0100 0000 0000 00001.0
0110 0000 0000 00001.5
0111 1111 1111 11111.99993896484375

Use

In the early 1990s, the Pixar Computer was used for [medical imaging
, including MRI and CT scans at Georgetown University and mammography at University of California.
Walt Disney Feature Animation, whose parent company later purchased Pixar in 2006, used dozens of the Pixar Image Computers for their Computer Animation Production System and was using them in production up through Pocahontas in 1995.