From Surf Wiki (app.surf) — the open knowledge base
Cinepak
Video codec
Video codec
Cinepak is a lossy video codec developed by Peter Barrett at SuperMac Technologies, and released in 1991 with the Video Spigot, and then in 1992 as part of Apple Computer's QuickTime video suite. One of the first video compression tools to achieve full motion video on CD-ROM, it was designed to encode 320×240 resolution video at 1× (150 kbyte/s) CD-ROM transfer rates. The original name of this codec was Compact Video, which is why its FourCC identifier is CVID. The codec was ported to Microsoft Windows in 1993. It was also used on fourth- and fifth-generation game consoles, such as the Atari Jaguar CD, Sega CD, Sega Saturn, and 3DO. libavcodec includes a Cinepak decoder and an encoder, both licensed under the terms of the LGPL.
History
It was the primary video codec of early versions of QuickTime and Microsoft Video for Windows, but was later superseded by Sorenson Video, Intel Indeo, and most recently MPEG-4 Part 2 and H.264/MPEG-4 AVC. However, movies compressed with Cinepak are generally still playable in most media players.
Technology
Cinepak is based on vector quantization, which is a significantly different algorithm from the discrete cosine transform (DCT) algorithm used by most current codecs (in particular the MPEG family, as well as JPEG). This permitted implementation on relatively slow CPUs (video encoded in Cinepak will usually play fine even on a 25 MHz Motorola 68030, consoles like the Sega CD usually used even slower CPUs, e.g. a 12.5 MHz 68000), but tended to result in blocky artifacting at low bitrates, which explained the criticism leveled at the FMV-based video games.
The vectors that are quantized in Cinepak are 2×2 pixel blocks. A block can consist of 4 luminance values (grayscale) or of 4 luminance and 2 chrominance values (4:2:0 chroma subsampling). The quantized blocks are stored in two codebooks, named V1 and V4, each with up to 256 entries. The vectors in the V1 codebook represent downscaled 4×4 pixel blocks, while those in the V4 codebook represent 2×2 pixel blocks.
For processing, Cinepak divides a video into key (intra-coded) images and inter-coded images. In key images the codebooks are transmitted from scratch, while in inter-coded images codebook entries are selectively updated. Each image is further divided into a number of horizontal bands. The codebooks can be updated on a per-band basis. Each band is divided into 4×4 pixel blocks. Each block can be coded either from the V1 or from the V4 codebook. When coding from the V1 codebook, one codebook index per 4×4 block is written to the bitstream, and the corresponding 2×2 codebook entry is upscaled to 4×4 pixels. When coding from the V4 codebook, four codebook indices per 4×4 block are written to the bitstream, one for each 2×2 subblock. Alternatively to coding from the V1 or the V4 codebook, a 4×4 block in an inter-coded image can be skipped. A skipped block is copied unchanged from the previous frame in a conditional replenishment fashion. The data rate can be controlled by adjusting the rate of key frames and by adjusting the permitted error in each block.
References
References
- Bylund, Anders. (22 December 2009). "From Cinepak to H.265: a brief history of video compression". Ars Technica.
- (19 February 2012). "QuickTime 1.6.1: Read Me". Apple Knowledge Base.
- (June 1994). "The Jaguar CD-ROM...". EGM Media, LLC.
- (September 1994). "Rocket Science Blasts Off". [[International Data Group.
- Jennifer Niederst Robbins. (28 February 2006). "Web Design in a Nutshell: A Desktop Quick Reference". O'Reilly Media, Inc..
- Apple Computer, Inc. (2004). "QuickTime for the Web: For Windows and MacIntosh". Morgan Kaufmann.
- Tim Ferguson. (2001). "Cinepak (CVID) stream format for AVI and QT".
- "cinepak.c". FFmpeg.
This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.
Ask Mako anything about Cinepak — get instant answers, deeper analysis, and related topics.
Research with MakoFree with your Surf account
Create a free account to save articles, ask Mako questions, and organize your research.
Sign up freeThis content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.
Report