Apple Video
Apple Video is a lossy video compression and decompression algorithm (codec) developed by Apple Inc. and first released as part of QuickTime 1.0 in 1991.[1] The codec is also known as QuickTime Video, by its FourCC RPZA and the name Road Pizza.[2][3] (The codename "Road Pizza" is a reference to the idea that "when you run over an animal, you're basically compressing it on the freeway".[4]) When used in the AVI container, the FourCC AZPR is also used.[3]
The bit-stream format of Apple Video has been reverse-engineered and a decoder has been implemented in the projects XAnim and libavcodec.[2][5]
Technical Details
The codec operates on 4×4 blocks of pixels in the RGB colorspace. Each frame is segmented into 4×4 blocks in raster-scan order. Each block is coded in one of four coding modes: skip, single color, four color, or 16 color.[3] Colors are represented by 16 bits with a bit-depth of 5 bit for each of the three components red, green, and blue, a format known as RGB555.[3] Because Apple Video operates in the image domain without motion compensation, decoding is much faster than MPEG-style codecs which use motion compensation and perform coding in a transform domain. As a tradeoff, the compression performance of Apple Video is lower.
Skip mode
The skip mode realizes conditional replenishment. If a block is coded in skip mode, the content of the block at same location in the previous frame is copied to the current frame.[3] Runs of skip blocks are coded in a run-length encoding scheme, enabling a high compression ratio in static areas of the picture.[3]
Single color mode
In single color mode, all pixels in a block are decoded in the same color.[3] This can be interpreted as a palette with a single color.
Four color mode
In four color mode, each pixel in a block is decoded as one of four colors which are specified in a palette.[3] To select one of the four entries, 2 bits per pixel are written to the bit-stream. The same palette is used for a run of length between one and 32 blocks.[3] Of the four colors, two are explicitly written to the bit-stream, while the other two are calculated at the decoder by linear interpolation in the RGB colorspace using the following equations:
- [math]\displaystyle{ \mathrm{color1} = \frac{21}{32} * \mathrm{color0} +\frac{11}{32} * \mathrm{color3} \approx \frac{2}{3} * \mathrm{color0} +\frac{1}{3} * \mathrm{color3} }[/math]
- [math]\displaystyle{ \mathrm{color2} = \frac{11}{32} * \mathrm{color0} +\frac{21}{32} * \mathrm{color3} \approx \frac{1}{3} * \mathrm{color0} +\frac{2}{3} * \mathrm{color3} }[/math]
where color0 and color3 are the two colors which are written in the bit-stream.[3] The four colors can be interpreted as lying equidistantly spaced on a line segment in the three-dimensional vector space with the three components red, green, and blue. The end-points of this line are written in the bit-stream. A similar color-interpolation scheme is used in S3 Texture Compression.
Interpreted as vector quantization, a three-dimensional vector with the components red, green, and blue is quantized using a codebook with four entries.
16 color mode
In 16-color mode, the color of each pixel in a block is explicitly written in the bit-stream.[3] This mode is lossless and equivalent to raw PCM without any compression.
See also
- Indexed color
- Color quantization
- Block truncation coding, a similar coding technique for grayscale content
- Color Cell Compression, a similar coding technique for color content, based on block truncation coding
- Microsoft Video 1, a codec based on a similar design
- QuickTime Graphics, a codec based on a similar design
- Smacker video, a codec based on a similar design
- S3 Texture Compression, a texture compression format based on a similar design
References
- ↑ Guillermo A. Ortiz (Summer 1991). "QuickTime 1.0: "You oughta be in pictures"" (PDF). Apple Computer. https://developer.apple.com/legacy/mac/library/technotes/tn2140/tn2140_QuickTimeDevelop7Article.pdf.
- ↑ 2.0 2.1 "FFmpeg Documentation". FFmpeg. http://ffmpeg.org/general.html.
- ↑ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 "Apple RPZA". MultimediaWiki. 11 December 2008. http://wiki.multimedia.cx/index.php?title=Apple_RPZA.
- ↑ "CHM Live: The Origins of QuickTime". Computer History Museum. https://www.youtube.com/watch?v=ujaCrbiAyB0&t=1599s.
- ↑ Mark Podlipec (10 December 1997). "xanim.2.70.6.4.2 README". XAnim. http://www.math.unl.edu/~rdieter1/OpenStep/X11/xanim.2.70.6.4.2.README.
External links
Original source: https://en.wikipedia.org/wiki/Apple Video.
Read more |