# Photo CD

Photo CD is a system designed by Kodak for digitizing and saving photos onto a CD. Launched in 1991, the discs were designed to hold nearly 100 high quality images, scanned prints and slides using special proprietary encoding. Photo CDs are defined in the Beige Book and conform to the CD-ROM XA and CD-i Bridge specifications as well. They were intended to play on CD-i players, Photo CD players (Apple's PowerCD for example), and any computer with a suitable software (LaserSoft Imaging's SilverFast DC or HDR for example).
The system failed to gain mass usage among consumers partly due to its proprietary nature, the rapidly decreasing scanner prices, and the lack of CD-ROM drives in most home personal computers of the day. Furthermore, Photo CD relied on CRT-based TV sets for home use. However, these were designed for moving pictures. Their typical flicker became an issue when watching still photographs. The Photo CD system gained a fair level of acceptance among professional photographers due to the low cost of the high quality film scans. Prior to Photo CD, professionals who wished to digitize their film images were forced to pay much higher fees to obtain drum scans of their film negatives and transparencies. Both JPEG and JPEG 2000 support PhotoYCC colorspace as described below that is used in Photo CD files.
| Designation | Resolution | Resolution | Uncompressed Size | Intended typical use |
| Designation | (px × px) | (Mpx) | (MB) | Intended typical use |
| Base/16 | 128 × 192 | 0.025 | 0.07 | Preview (index print, thumbnail) |
| Base/4 | 256 × 384 | 0.098 | 0.28 | Web |
| Base | 512 × 768 | 0.393 | 1.13 | Computer screen, TV, Web |
| 4 Base | 1024 × 1536 | 1.573 | 4.50 | HDTV screen |
| 16 Base | 2048 × 3072 | 6.291 | 18.00 | Print-out up to ca. 20 × 30 cm |
| 64 Base | 4096 × 6144 | 25.166 | 72.00 | Professional print, pre-press, archiving (optional) |

## Variants

The Kodak Pro Photo CD Master Disc contains 25 images with maximum resolution of 6144 × 4096 pixels (six resolutions per file, Base/16 to 64 Base). This type is appropriate for 120 film, 4 × 5, but also for small picture film, if highest resolution is required.
Separate from the Photo CD format is Kodak's proprietary "Portfolio CD" format, which combines Red Book CD audio and Beige Book PCD with interactive menus and hotspots on PCD images. Some standalone Philips Photo/Audio CD players could play Portfolio CDs, and Windows player application was freely available. The Kodak Portfolio CD is not defined in any particular Rainbow Book.

## History

The Photo CD system was announced by Kodak in 1990. Photo CD targeted a full range of photographic needs, ranging from consumer level point-and-shoot cameras to high-end professionals using large format 4x5 sheet film. The first Photo CD products, including scanners for processing labs and Photo CD players for consumers, became available in 1992. The project was expected to be a $600 million business by 1997 with $100 million in operational earnings. Kodak entered into a number of partnerships in order to grow the usage of Photo CD. This included, for example, an arrangement with L.L. Bean in 1992 by which the catalog would be distributed in Photo CD format, and an arrangement with Silicon Graphics in 1993 to make all Silicon Graphics image-processing workstations capable of accepting Kodak Photo CD optical disks. These measures, together with the then relatively low cost of $3 per image and convenience, made Photo CD the digital imaging solution of choice for many photographers in the mid to late 1990s.
By 2000, over 140 Photo CD processing labs in the U.S. were active, with many more outside the U.S. However, by the late 1990s, Photo CD was being eclipsed by alternate formats, mainly based on the industry standard JPEG format. In the consumer segment, the Photo CD format's relatively inefficient compression scheme meant that Photo CD files were significantly larger than JPEG files of similar quality, and thus less convenient for transmission across the internet, etc. For example, a 16Base Photo CD image of 5.5 Mb can be encoded as a JPEG image of 2.1 Mb at 80% quality, visually indistinguishable from the original. When the Photo CD format was designed in the early 1990s, a design goal was to allow low cost playback-to-TV devices. At that time the available technology precluded 2-dimensional compression schemes such as JPEG, but by the late 1990s, advances in microprocessor technology had moved JPEG/PNG compression to well within the range of even very low cost consumer electronics.
In the professional and advanced amateur segments, Photo CD had been eclipsed by low-cost desktop scanners such as those from Nikon and Minolta in the mid range, and by drum scanners at the very high end. While the pixel resolution of Photo CD was still comparable or better than the alternatives, Photo CD suffered from a number of other disadvantages. Firstly, the Photo CD color space, designed for TV display, is smaller than what can be achieved by even a low cost desktop scanner. Secondly, the color rendition of Photo CD images changed over time and with different scanner versions; 4050 scanners had different color rendition to earlier versions. Thirdly, the dynamic range of scans was lower than for desktop scanners. Tests at the time indicated that the dmax rating (a measure of maximum density obtainable) of Photo CD was 2.8-3.0, while commonly available desktop scanners were reaching 4.2, a substantial difference. As a result of this, and Photo CD's problems with color rendering, by 2004 the professional segment of the user community had generally turned against Photo CD.
In the retail segment, while Photo CD was initially relatively popular with consumers, it was largely an economic failure for processing labs. At the time of its introduction, Kodak claimed that processing costs to labs would be close to $1 per image, which would allow the lab profitably sell at the $3 per image mark. However this promise was never realized, often resulting in the scanning process being rushed, with a resulting fall in quality. As a result of Photo CD's loss of market share and substantial corporate losses, partially attributed by Kodak Management to its scanning business, Kodak abandoned the format over the period 2001-2004. By 2004, Kodak 4050 Photo CD scanners were being offered for free to anyone that would pay for their removal by more than one processing lab. This abandonment generated considerable controversy both at the time and subsequently as the Photo CD format's technical specifications have never been released by Kodak. Photo CD remains an often quoted example of an “orphan format” and of the dangers of proprietary image formats within photographic circles.
Despite Kodak not releasing the specifications for the Photo CD format, it has been reverse engineered, thus allowing images to be converted to more modern formats. The original reverse engineering work was performed by Hadmut Danisch of the University of Karlsruhe, who deciphered the format by studying hex dumps of Photo CD files, and subsequently wrote hpcdtoppm, which converts Photo CD Images to PPM format, in the early 1990s. During the early 1990s, hpcdtoppm was extensively distributed as part of various Linux distributions, but has since been almost entirely abandoned due to concerns about hpcdtoppm's restrictive license conditions and lack of color management. However, Hadmut Danisch's reverse engineering work has been used to create a number of other open source implementations of Photo CD decoders such as ImageMagick. In 2009, pcdtojpeg was created under the GPL open source licence. Also acknowledged by the author to be based on Hadmut Danisch's reverse engineering work, pcdtojpeg allows Photo CD metadata to be decoded, is color managed, and can decode all known variants of Photo CD files. Currently hpcdtoppm and pcdtojpeg together form the core of information available in the public domain on the technical details of the Photo CD format.

## Image format
### Image components

Photo CD images are stored as a hierarchy of components ranging from Base/16 to 64Base which relate to the varying image resolutions that can be reconstructed. The Base image, which has a luma resolution of 512 lines by 768 pixels, is typically used for the TV systems. The higher-resolution images are usually used for photographic imaging. The Base and lower resolution images are usually used for file indexes and thumbnails. The components used to create the Base/16 through 16Base resolutions are stored in a single file called an Image Pac. The Base, Base/4, and Base/16 images are stored uncompressed in order to allow easy extraction for display. 4Base and 16Base images are stored compressed, and as deltas (incremental images) from the resolution below them. Note all resolutions up the maximum resolution in a file (actually an Image Pac) are all present simultaneously. So, for example, a 16Base file contains a Base/16, Base/4, Base and 4Base image as well as the 16Base components. The sixth component, 64Base, is stored in separate files on the Photo CD as part of the IMAGE PAC Extension (IPE). This only exists on Photo CD Pro Master discs.

### Encoding

PCD images use a gamma transformed PhotoYCC encoding. Under this scheme, in order to encode scanned images into Photo CD file, the first step is to preshape the RGB data via a non-linear transform (the Rec. 709 OETF flipped to become an odd function, same as the later xvYCC):
    ${\mathit {RGB^{\prime }={\begin{cases}\alpha \cdot RGB^{0.45}-(1-\alpha ),&RGB\geq \beta \\-\alpha \cdot (-RGB)^{0.45}+(1-\alpha ),&RGB\leq -\beta \\4.5\cdot RGB&-\beta <RGB<\beta \\\end{cases}}}}$
In Kodak documentation, α = 1.099, β = 0.018. However, the full standard values (1.099296826809442, 0.018053968510807) provide mathematical continuity.
As a result of this function, colors that are outside of the gamut defined by the CCIR 709 primaries are encoded by the negative values. Linear RGB values are from -0.20 to 2.00, while nonlinear RGB' are from -0.43357 to 1.402278. Reference white (perfect, non-fluorescent, white-reflecting diffuser in the original scene) is 1.0, just like in BT.709.
The preshaped RGB values are then converted to a luminance and two chrominance components via a CCIR 601-1-like matrix:
    $Y^{\prime }=0.299R^{\prime }+0.587G^{\prime }+0.114B^{\prime }$
    $B^{\prime }-Y^{\prime }=-0.299\cdot R^{\prime }-0.587\cdot G^{\prime }+0.886\cdot B^{\prime }$
    $R^{\prime }-Y^{\prime }=0.701\cdot R^{\prime }-0.587\cdot G^{\prime }-0.114\cdot B^{\prime }$
Finally the luminance and chrominance components are scaled to 8-bit values by the following equations:
    $Y^{\prime \prime }={255/1.402}\cdot Y^{\prime }$
    $C_{1}=111.40\cdot (B^{\prime }-Y^{\prime })+156$
    $C_{2}=135.64\cdot (R^{\prime }-Y^{\prime })+137$

#### Gamut size

Kodak claims that "the scale factors and offsets for the C1 and C2 channels result from the distribution of real world colors". Given the 8-bit integer range for each of the 3 components, 0 ≤ Y ≤ 1.402, -1.40036 ≤ B' - Y' ≤ 0.888689, -1.01003 ≤ G' - Y' ≤ 0.86995.
An oddity of this encoding scheme is that it allows Photo CD images to represent colors which are above 100% (up to 140.2%), "whiter than white". At the time of Photo CD's introduction, this allowed the display of images on the analog televisions of the day to show brighter, more vivid colors than would otherwise be the case. This was acceptable as the analog televisions of the day were designed to be driven beyond their 100% level without abruptly clipping. However, this aspect of Photo CD encoding is not compatible with modern image formats, and is the cause of the well documented "Blown Highlights" problem when converting Photo CD images to more modern formats. All modern photo formats enforce hard clipping at 100% (video formats in YUV still have headroom that is present on high level TVs), resulting in highlight clipping in converted images unless some form of Photo CD specific luminance and chrominance mapping is performed.
In addition, although "toeroom" (Y < 0) is not provided, Kodak expressly allows the use of R, G, B < 0, allowing out-of-gamut (for Rec. 709) colors to be expressed. The effect is similar to xvYCC, which came much later.

### Compression

Photo CD images use three forms of compression in order to reduce image storage requirements. Firstly, chroma subsampling reduces the size of the images by approximately 50%. This subsampling is by a factor of 4 for 4Base images, and a factor of 2 (4:2:0) for all other resolutions. Secondly an additional reduction in size is achieved by decomposing the highest-resolution image data, and storing the 4Base, 16Base and 64Base components as residuals (differences from pixels at the previous level of resolution). Thirdly and finally, the Photo CD system employs a form of quantization and Huffman coding to further compress this residual data. This Huffman encoding is performed on an image-row-by-image-row basis. The Huffman tables are encoded into the Photo CD image itself, and have different lengths depending on the compression class. These Huffman classes are:
* class 1 - 35mm film; pictorial hard copy,
* class 2 - large format film,
* class 3 - text and graphics, high resolution,
* class 4 - text and graphics, high dynamic range.
For example, to recompose an image of 1024 lines by 1536 pixels, the 512-line by 768-pixel luma Base image (which is neither "residual" or Huffman compressed) is interpolated to a 1024-line by 1536-pixel image. A 1024-line by 1536-pixel 4Base residual is then decompressed from its Huffman-encoded form, and its elements are added to each corresponding pixel. The resulting image contains detail for the full 1024-line by 1536-pixel sampled image. To recompose an image to a resolution of 2048 lines by 3072 pixels, the process is essentially repeated, using both the 4Base and 16Base residual. A similar operation is subsequently used to recompose the 4096 line by 6144 pixel resolution. In each step, an identical process is applied to the chroma channels.

### ICC profiles

Kodak based the PhotoYCC scheme on some existing video standards, notably on aspects of CCIR Recommendation 601 used with PAL and NTSC digital television systems, and also on CCIR Recommendation 709 (now ITU-R Recommendation BT.709) used for HDTV. The PhotoYCC definition is defined in a manner that is not constrained by the limitations of the actual video display.
In practice the color space of Photo CD images varies significantly from Rec. 709. Firstly, the Photo CD encoding scheme allows greater than 100% values for color components, thus allowing Photo CD images to display colors outside of the nominal Rec. 709 gamut. In addition, in order to achieve accurate color reproduction, especially when scanning reversal film, Kodak found it necessary to provide ICC color profiles specific to film type and scanner. As a result, by the time that the Photo CD format fell into disuse, five different color spaces were in common use in Photo CD images (PCD 4050 is a Kodak scanner model number):
* Color Negative
* Universal E-6
* Universal K-14
* PCD 4050 E-6
* PCD 4050 K-14
Thus, while the use of the generic Photo CD color space will provide color reproduction that is acceptable for many purposes e.g., Web viewing of thumbnail images, in order to achieve fully accurate color reproduction, e.g., for photographic purposes, any Photo CD display or conversion software must use the correct color profile for the combination of the original media and scanner model.

## Converting Photo CD images

For practical use, any Photo CD images will have to be converted to a modern format such as JPEG, TIFF or DNG. While there are a large number of image conversion programs available, both commercial and freeware or open source, most are capable of only basic, low resolution (often only to Base resolution, 512x768) conversions. The main distinguishing features between programs as regards Photo CD capabilities are:
* The ability to convert images at maximum resolution, ideally up to the 64Base (4096x6144) level.
* Correct highlight handling. Blown or clipped highlights are a common problem with many Photo CD conversion packages. Once a highlight is clipped by a conversion program, the information cannot be recovered by later manipulation. Many Windows based software packages partially correct for the highlight problem by using a “hacked” DLL created by Ted Felix.
* The use of scanner and film type specific ICC color profiles. Unless such profiles are used, the color reproduction of the image will be incorrect, often, especially for reversal (slide) films, very noticeably so.
* Extracting metadata. Metadata is information such as the date that the scan was performed, the model number of the scanner, and film type. This information is not only useful to the user, but is also critical in selecting the appropriate color profile, as these vary by film type and scanner.