Pixar Image Computer
{{Short description|Graphics designing computer by Pixar}}
{{Infobox information appliance
| name = Pixar Image Computer
| aka =
| logo =
| image = PixarImageComputerP2OpenHouse.jpg
| image_size = 200px
| caption = Pixar Animation Studios' own P-II Pixar Image Computer.
| developer = Pixar
| manufacturer = Pixar
| type = Image processing
| releasedate = {{Start date and age|1986|7|24}}
| unitssold = Fewer than 300
| unitsshipped =
| os =
| website =
}}
The Pixar Image Computer is a graphics computer originally developed by the Graphics Group, the computer division of Lucasfilm, which was later renamed 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 their 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.{{cite web| url=https://www.cnet.com/tech/tech-industry/steve-jobs-a-timeline/ |title=Steve Jobs: A timeline |website=CNet |date=5 October 2011 |author=CNet News Staff}} The machine sold for $135,000, but also required a $35,000 workstation from Sun Microsystems or Silicon Graphics (in total, {{Inflation|US|170000|1986|r=-4|fmt=eq}}). 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.{{cite book|last=Isaacson|first=Walter | author-link =Walter Isaacson|title=Steve Jobs|year=2011|publisher=Simon & Schuster|title-link=Steve Jobs (book) }} 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,{{cite web|url=http://www.specktech.com/PixarImageComputer.html |title=Pixar Image Computer}} a high performance bus, a hardware image decompression card, 4 processors (called Chaps or channel processors), very large memory cards (VME sized card full of memory), 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. 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. Despite this, the government decided that the per-seat cost was still too high for mass deployment and to wait for the next generation systems to achieve cost reductions. This decision was the catalyst for Pixar to lay off its hardware engineers and sell the imaging business. There were no high volume buyers in any industry. Fewer than 300 Pixar Image Computers were ever sold.{{cite web |title=Pixar Image Computer |url=https://www.ricomputermuseum.org/collections-gallery/equipment/pixar-image-computer |archive-url=https://web.archive.org/web/20200309075156/https://www.ricomputermuseum.org/Home/equipment/pixar-image-computer |archive-date=9 March 2020 |website=Rhode Island Computer Museum}}
{{quote| text="It was built to be part of a pipeline, but as we developed it we realized we were competing with Moore's law with CPU and we probably couldn't get far enough ahead of it to justify it so we actually stopped the hardware effort."| sign=Ed Catmull, President of Pixar{{Cite web |url= https://www.fxguide.com/featured/pixars-renderman-turns-25/ |title= Pixar's RenderMan turns 25 |date= 25 July 2013 |access-date= 2019-04-21}} | source=|title=}}
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 (LCWS) and Commercial Analyst Workstation (CAWS) 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 (IEC).
Design
The P-II could have two Channel Processors, or Chaps. The chassis could hold 4 cards. The PII-9 could hold 9 cards (4 Chaps, 2 video processors, 2 Off Screen Memory (OSM) cards, and an Overlay Board for the NeWS windowing system). NeWS was extended to control the image pipeline for roaming, image comparison, and stereo image viewing.
Each Chap is a 4-way parallel (RGBA) 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 (whose inventors have connections to Pixar). The Chaps did 16-bit integer arithmetic.
The memory for images only stored 12 bits per color channel (or 48 bits per pixel). 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 (to provide a keyboard and mouse for user input). 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.{{For what?|date=March 2021|reason=Does this refer to the P-II or the PII-9?}}
PXR File Format
Pixar Image Computer use 'Pixar storage standard' PXR File format. PXR file have structure:Pixar Image Computer Users Manual v1.2 Dec 1986
1. Header (512 bytes)
2. Tile pointer table (8 × numberTiles bytes)
3. Picture data
Origin of image is left top corner. All data in file use small endian byte order.
= Header (512 bytes) =
class="wikitable" |
Offset (hex)
! Length ! Field name ! Description |
---|
0 (0x0000)
| 4 bytes | file signature/magic number | {{tt|0x80 0xe8 0x00 0x00}} |
4 (0x0004)
| 2 bytes | Version | File format version (only have version 0) |
6 (0x0006)
| 246 bytes | Ascii description | String for file description |
252 (0x00fc)
| 4 | Label Pointer | For continue label if need label longer than 246 bytes. Pointer address from start of file. |
256 (0x0100)
| 160 bytes | colspan=2 | Unused |
416 (0x01a0)
| 2 bytes | Picture height | Pixel height of whole picture |
418 (0x01a2)
| 2 bytes | Picture width | Pixel width of full picture |
420 (0x01a4)
| 2 bytes | Tile height | Pixel height of each tile (≤ full picture height) |
422 (0x01a6)
| 2 bytes | Tile width | Pixel width of each tile (≤ full picture width) |
424 (0x01a8)
| 2 bytes | Picture format | 4 bits for tell which channel is in file: |
426 (0x01aa)
| 2 bytes | Picture storage | Picture encoding and number bits. Have 4 values: |
428 (0x01ac)
| 2 bytes | Blocking factor | Optimum disk transfer chunk |
430 (0x01ae)
| 2 bytes | Alpha mode | Have 2 value: |
432 (0x01b0)
| 2 bytes | x offset | x offset for picture |
434 (0x01b2)
| 2 bytes | y offset | y offset for picture |
436 (0x01b4)
| 76 bytes | colspan=2 |Unused |
= 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.
class="wikitable" |
512 (0x200)
| Tile pointer 1 ! Address of tile 0 (4 bytes) ! Length of tile 0 data (4 bytes) |
---|
520 (0x208)
| Tile pointer 2 ! Address of tile 1 (4 bytes) ! Length of tile 1 data (4 bytes) |
...
! ... ! ... ! ... |
To calculate the number of tiles for x direction:
1 + (pictureWidth − 1)/tileWidth
and y direction:
1 + (pictureHeight − 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 (totalNumberTiles − 1) is at right bottom of image.
= Dumped & Encoded Pixel Data =
Picture storage (at 2 bytes at byte 426 from start of file) 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 (4 channels), RGB (3 channels), or R (1 channel, grey image) 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 (top bits) combine with 8 bits of byte 1 (low bits) create 12 bit count. Flag have values:
class="wikitable" |
Flag
! Count ! RGBA ! RGB ! R ! comment |
---|
0
! no use ! ! ! ! end of disk block |
1
! use ! RGBA RGBA ... ! RGB RGB ... ! R ... ! full channel dump |
2
! use ! λRGBA λRGBA ... ! λRGB λRGB ... ! λR λR ... ! full channel run |
3
! use ! A RGB RGB ... ! no use ! no use ! partial channel dump |
4
! use ! A λRGB λRGB ... ! no use ! no use ! partial 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 (8 bits) 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 (4 channels) 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 (the documentation describes the range as [-0.5; 1.5) plus an "overflow bit").[http://www.bitsavers.org/pdf/pixar/Pixar_Image_Computer_Users_Manual_v1.2_Dec1986.pdf]
class="wikitable"
! Bits !! Value !! Overflow | ||
1010 0000 0000 | −1.5 | Y |
1100 0000 0000 | −1.0 | Y |
1110 0000 0000 | −0.5 | |
0000 0000 0000 | 0 | |
0010 0000 0000 | 0.5 | |
0100 0000 0000 | 1.0 | |
0110 0000 0000 | 1.5 | Y |
1000 0000 0000 | 2.0 | Y |
1001 1111 1111 | 2.4995... | Y |
= 16 bit coefficient values =
Pixar Image Computer also have special 16 bit fixed point data type (for mảtix value, etc.) have name 'coefficient'. It have range [-2.0; 2.0) and use first 14 bits for fraction. For value ≥ 0, last 2 bit for whole number. For value < 0, last 2 bit for sign and whole number (use 2 complement).
class="wikitable" |
decimal
| hex ! binary ! value |
---|
32 768
| 0x8000 ! 1000 0000 0000 0000 ! -2.0 |
40 960
| 0xa000 ! 1010 0000 0000 0000 ! -1.5 |
49 152
| 0xc000 ! 1100 0000 0000 0000 ! -1.0 |
57 344
| 0xe000 ! 1110 0000 0000 0000 ! -0.5 |
65 536
| 0xfffff ! 1111 1111 1111 1111 ! -0.00006103515625 |
0
| 0x0000 ! 0000 0000 0000 0000 ! 0.0 |
8192
| 0x2000 ! 0010 0000 0000 0000 ! 0.5 |
16384
| 0x4000 ! 0100 0000 0000 0000 ! 1.0 |
24 576
| 0x6000 ! 0110 0000 0000 0000 ! 1.5 |
32767
| 0x7fff ! 0111 1111 1111 1111 ! 1.99993896484375 |
Use
{{More citations needed section|date=December 2020}}
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.{{Cite conference |last=Cao |first=Fei |last2=Sickles |first2=Edward A. |last3=Huang |first3=H. K. |last4=Zhou |first4=Xiaoqiang |date=June 1998 |title=Medical Imaging 1998: Image Display |chapter=Migration of the digital interactive breast-imaging teaching file |bibcode=1998SPIE.3335..637C |volume=3335 |pages=637–646 |series= SPIE Proceedings |doi=10.1117/12.312543 |editor1=Yongmin Kim |editor2= Seong Ki Mun | conference= Medical Imaging '98. 21–26 February 1998. San Diego, CA}}
Walt Disney Feature Animation, whose parent company later purchased Pixar in 2006,{{Cite web|url=https://money.cnn.com/2006/01/24/news/companies/disney_pixar_deal/|title=Disney buys Pixar| date=25 Jan 2006|last=La Monica |first=Paul R. |website=CNN Money|access-date=2017-04-25}} used dozens of the Pixar Image Computers for their Computer Animation Production System (CAPS) and was using them in production up through Pocahontas in 1995.{{cn|date=May 2020}}
References
External links
- {{flickr-inline2|photos/bhowenstein/20939563}}
{{Pixar Animation Studios}}