Cinepak

Last updated

Cinepak is a lossy video codec [1] 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, [2] 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, [3] 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, [4] Sega CD, Sega Saturn, and 3DO. [2] libavcodec includes a Cinepak decoder and an encoder, both licensed under the terms of the LGPL.

Contents

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. [5] [6] 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). [7] [8] 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. [7] In key images the codebooks are transmitted from scratch, while in inter-coded images codebook entries are selectively updated. [7] 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. [7] [8] Each block can be coded either from the V1 or from the V4 codebook. [7] [8] 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. [7] [8] When coding from the V4 codebook, four codebook indices per 4×4 block are written to the bitstream, one for each 2×2 subblock. [7] [8] 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. [7] [8] The data rate can be controlled by adjusting the rate of key frames and by adjusting the permitted error in each block.

Related Research Articles

MPEG-1 is a standard for lossy compression of video and audio. It is designed to compress VHS-quality raw digital video and CD audio down to about 1.5 Mbit/s without excessive quality loss, making video CDs, digital cable/satellite TV and digital audio broadcasting (DAB) practical.

Vector quantization (VQ) is a classical quantization technique from signal processing that allows the modeling of probability density functions by the distribution of prototype vectors. It was originally used for data compression. It works by dividing a large set of points (vectors) into groups having approximately the same number of points closest to them. Each group is represented by its centroid point, as in k-means and some other clustering algorithms.

Motion compensation Video compression technique, used to efficiently predict and generate video frames

Motion compensation in computing, is an algorithmic technique used to predict a frame in a video, given the previous and/or future frames by accounting for motion of the camera and/or objects in the video. It is employed in the encoding of video data for video compression, for example in the generation of MPEG-2 files. Motion compensation describes a picture in terms of the transformation of a reference picture to the current picture. The reference picture may be previous in time or even from the future. When images can be accurately synthesized from previously transmitted/stored images, the compression efficiency can be improved.

A video codec is software or hardware that compresses and decompresses digital video. In the context of video compression, codec is a portmanteau of encoder and decoder, while a device that only compresses is typically called an encoder, and one that only decompresses is a decoder.

Advanced Video Coding Most widely used standard for video compression

Advanced Video Coding (AVC), also referred to as H.264 or MPEG-4 Part 10, is a video compression standard based on block-oriented, motion-compensated coding. It is by far the most commonly used format for the recording, compression, and distribution of video content, used by 91% of video industry developers as of September 2019. It supports resolutions up to and including 8K UHD.

H.261 is an ITU-T video compression standard, first ratified in November 1988. It is the first member of the H.26x family of video coding standards in the domain of the ITU-T Study Group 16 Video Coding Experts Group. It was the first video coding standard that was useful in practical terms.

Smacker video Digital video file format

Smacker video is a video file format developed by RAD Game Tools, and primarily used for full-motion video in video games. Smacker uses an adaptive 8-bit RGB palette. RAD's format for video at higher color depths is Bink Video. The Smacker format specifies a container format, a video compression format, and an audio compression format. Since its release in 1994, Smacker has been used in over 2300 games. Blizzard used this format for the cinematic videos seen in its games Warcraft II, StarCraft and Diablo I.

QuickTime Animation format is a video compression format and codec created by Apple Computer to enable playback of RGB video in real time without expensive hardware. It is generally found in the QuickTime container with the FourCC 'rle '. It can perform either lossless or lossy compression and is one of the few video codecs that supports an alpha channel. Supported color depths are 1-bit (monochrome), 15-bit RGB, 24-bit RGB, 32-bit ARGB, as well as palettized RGB. As a result of reverse-engineering of the format, a decoder is implemented in XAnim as well as an encoder and decoder in libavcodec.

H.262 or MPEG-2 Part 2 is a video coding format standardised and jointly maintained by ITU-T Study Group 16 Video Coding Experts Group (VCEG) and ISO/IEC Moving Picture Experts Group (MPEG), and developed with the involvement of many companies. It is the second part of the ISO/IEC MPEG-2 standard. The ITU-T Recommendation H.262 and ISO/IEC 13818-2 documents are identical.

MPEG-4 Part 2, MPEG-4 Visual is a video compression format developed by the Moving Picture Experts Group (MPEG). It belongs to the MPEG-4 ISO/IEC standards. It uses block-wise motion compensation and a discrete cosine transform (DCT), similar to previous standards such as MPEG-1 Part 2 and H.262/MPEG-2 Part 2.

Indeo Audio and video formats by Intel

Indeo Video is a family of audio and video formats and codecs first released in 1992, and designed for real-time video playback on desktop CPUs. While its original version was related to Intel's DVI video stream format, a hardware-only codec for the compression of television-quality video onto compact discs, Indeo was distinguished by being one of the first codecs allowing full-speed video playback without using hardware acceleration. Also unlike Cinepak and TrueMotion S, the compression used the same Y'CbCr 4:2:0 colorspace as the ITU's H.261 and ISO's MPEG-1. Indeo use was free of charge to allow for broadest usage.

Microsoft Video 1 or MS-CRAM is an early lossy video compression and decompression algorithm (codec) that was released with version 1.0 of Microsoft's Video for Windows in November 1992. It is based on MotiVE, a vector quantization codec which Microsoft licensed from Media Vision. In 1993, Media Vision marketed the Pro Movie Spectrum, an ISA board that captured video in both raw and MSV1 formats.

Α video codec is software or a device that provides encoding and decoding for digital video, and which may or may not include the use of video compression and/or decompression. Most codecs are typically implementations of video coding formats.

The macroblock is a processing unit in image and video compression formats based on linear block transforms, typically the discrete cosine transform (DCT). A macroblock typically consists of 16×16 samples, and is further subdivided into transform blocks, and may be further subdivided into prediction blocks. Formats which are based on macroblocks include JPEG, where they are called MCU blocks, H.261, MPEG-1 Part 2, H.262/MPEG-2 Part 2, H.263, MPEG-4 Part 2, and H.264/MPEG-4 AVC. In H.265/HEVC, the macroblock as a basic processing unit has been replaced by the coding tree unit.

A deblocking filter is a video filter applied to decoded compressed video to improve visual quality and prediction performance by smoothing the sharp edges which can form between macroblocks when block coding techniques are used. The filter aims to improve the appearance of decoded pictures. It is a part of the specification for both the SMPTE VC-1 codec and the ITU H.264 codec.

Sorenson Media was an American software company specializing in video encoding technology. Established in December 1995 as Sorenson Vision, the company developed technology which was licensed and ultimately acquired from Utah State University. The company first announced its codec at a developer’s preview at MacWorld Expo in January 1997.

VP9 Open and royalty-free video coding format released by Google in 2013

VP9 is an open and royalty-free video coding format developed by Google.

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. The codec is also known as QuickTime Video, by its FourCC RPZA and the name Road Pizza. When used in the AVI container, the FourCC AZPR is also used.

QuickTime Graphics is a lossy video compression and decompression algorithm (codec) developed by Apple Inc. and first released as part of QuickTime 1.x in the early 1990s. The codec is also known by the name Apple Graphics and its FourCC SMC. The codec operates on 8-bit palettized RGB data. The bit-stream format of QuickTime Graphics has been reverse-engineered and a decoder has been implemented in the projects XAnim and libavcodec.

References

  1. Bylund, Anders (22 December 2009). "From Cinepak to H.265: a brief history of video compression". Ars Technica. Retrieved 1 November 2012.
  2. 1 2 "Rocket Science Blasts Off". GamePro . No. 62. IDG. September 1994. p. 48.
  3. "QuickTime 1.6.1: Read Me". Apple Knowledge Base. 19 February 2012. Retrieved 5 April 2013.
  4. "The Jaguar CD-ROM...". Electronic Gaming Monthly . No. 59. EGM Media, LLC. June 1994. p. 122.
  5. Jennifer Niederst Robbins (28 February 2006). Web Design in a Nutshell: A Desktop Quick Reference. O'Reilly Media, Inc. p. 627. ISBN   978-0-596-00987-8 . Retrieved 1 November 2012.
  6. Apple Computer, Inc (2004). QuickTime for the Web: For Windows and MacIntosh . Morgan Kaufmann. p.  328. ISBN   978-1-55860-904-4 . Retrieved 1 November 2012.
  7. 1 2 3 4 5 6 7 8 Tim Ferguson (2001). "Cinepak (CVID) stream format for AVI and QT" . Retrieved 5 April 2013.
  8. 1 2 3 4 5 6 "cinepak.c". FFmpeg. Archived from the original on 29 October 2013. Retrieved 5 April 2013.