![]() |
| Home > Photo, Video, Graphics > graphics > |
AVI Graphics Format Overview |
Section 4 of 14 - Prev - Next
All sections - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14
Sorenson Video
Sorenson Video, from Sorenson Vision, is a low bitrate video codec that appears to be available only for Apple QuickTime as of May 10, 1999. Sorenson Video was used to compress the Star Wars trailer for "Star Wars Episode I: The Phantom Menace" distributed over the Internet as a QuickTime file in the spring of 1999. No Video for Windows Sorenson Video codec appears to be available. Sorenson Video is reportedly based on some kind of vector quantization technology that can achieve very high compression. According to Mark Podlipec's XAnim site (May 10, 1999), he contacted Sorenson Vision to find out if he could license Sorenson Video for incorporation in the XAnim Unix X11 animation, audio, and video player. According to his Web site, Sorenson replied that Apple will not allow Sorenson to license Sorenson Video to others. http://www.s-vision.com/ Return to TopHow to determine which Video for Windows decompressors are installed on a PC?
In the SYSTEM.INI file, there is a section [drivers] which will contain some lines as follows: [drivers] VIDC.MSVC=msvidc.drv VIDC.YVU9=isvy.drv VIDC.IV31=indeor3.drv VIDC.RT21=indeo.drv VIDC.CVID=iccvid.drv VIDC.MRLE=msrle.drv AVI files contain a four character code (such as 'IV31' or 'CVID') in the stream header for the video stream. This four character code identifies the video compressor used for the video stream. For example, 'CVID' is the identifier for Cinepak (formerly Compact Video) compression. Video for Windows prefixes the four character code with VIDC. and uses it to look up the video decompressor driver in SYSTEM.INI iccvid.drv is the driver for Cinepak in the example above. Note: These are 16-bit drivers. Windows 95 adds a section [drivers32] for 32 bit drivers. There are 32 bit versions of the Video for Windows drivers. See below (and notice that the 32 bit drivers have different names from the 16 bit drivers). [drivers32] vidc.cvid=iccvid.dll ; Cinepak for Windows 32 vidc.iv31=ir32_32.dll vidc.iv32=ir32_32.dll vidc.msvc=msvidc32.dll vidc.mrle=msrle32.dll WINDOWS 95 In Windows 95: (1) Open the Control Panel (2) Double click on the Multimedia Icon (applet) (3) Select the "Advanced" Tab (4) Under the Multimedia Drivers icon, double click on the Video Compression Codecs icon to open it. This gives a list of installed video codecs. Return to TopHow to determine which codec was used to compress an AVI file
LOW LEVEL WAY THAT WORKS ON ANY OPERATING SYSTEM WITH A FILE EDITOR! A low level way to find out is to view the avi file with an editor, for example the standard EDIT command in DOS will work. Search for the four character code vids (usually lower case). vids indicates a VIDeo Stream. vids is immediately followed by the four character code for the compressor used for the AVI file. For example, a full frames (uncompressed) AVI will contain the string: vidsDIB An AVI compressed using Microsoft Video 1 will contain the string: vidsmsvc And so forth. See elswhere in this overview for information on the Microsoft Four Character Codes. WINDOWS 95 In Windows 95 (or Windows NT 4.0): Right click on the avi file's icon. This brings up a menu of items. Select Properties. Click on the Details tab in the Properties sheet. Look under Video Format in the Details. This will list the compression used. The compression is identified using an explanatory human-readable string such as "16 x 16, 24 Bits, 8 Frames, 60.150 Frames/Sec, 76 KB/Sec, Uncompressed". The Microsoft Four Character Code is not used. NOTE: Windows 95 needs to have the Video for Windows codec installed to correctly identify the codec used in the AVI file. If you have an AVI that Windows 95 can't play because the codec is not installed, you will have to use another method. Return to TopWhich AVI video compressor is best?
"Best" depends on what the user is trying to do. Selection of a video codec depends on several variables: time to encode the video, how widely known and available the video codec is, compression ratios that can be achieved for a target subjective quality level. The Performance of AVI Codecs section gives detailed information on the performance, compression ratios, video quality, etc. of AVI video codecs. Cinepak is the most widely used AVI video codec. Cinepak reportedly provides the fastest playback of video. While Indeo 3.2 provides similar or slightly superior image quality for same compression, Indeo decompression is much more CPU intensive than Cinepak. Cinepak was originally developed for the Mac and licensed to Apple by SuperMac. It is now free with Video for Windows. It is also free with Apple's QuickTime. There are at least three Cinepak codecs in existence: Cinepak by SuperMac (the original, 16 bit) Cinepak by Radius (newer, better?, 16 bit) Cinepak by Radius[32] (32 bit version of Radius Cinepak, shipped with Windows 95) Peter Plantec's Caligari TrueSpace2 Bible strongly recommends using the Radius codec for superior results when generating AVI files from TrueSpace. Cinepak is the best codec to use to insure ease of playback. Few people will have problems or need to install special codecs or software to play an AVI compressed with Cinepak. Cinepak is based on Vector Quantization and Frame Differencing to achieve video compression. Other technologies such as the Block Discrete Cosine Transform and Motion Compensation can achieve superior compression (smaller files for the same subjective visual quality). Codecs that beat Cinepak H.263 (probably H.261) Block DCT/Motion Compensation MPEG-4 Video Verification Model Block DCT/Motion Compensation Indeo Video Interactive (Indeo 4.x) "hybrid wavelet" VDONet's VDOWave Discrete Wavelet Transform/Motion Compensation Iterated System's RealVideo or ClearVideo Fractal Compression Although not integrated into AVI, the MPEG-1 digital video standard with IPB frames outperforms Cinepak. The block DCT/Motion Compensation based codecs seem to perform 1.5 - 2.0 times better than Cinepak. VDOWave, a wavelet based codec, seems somewhat better than this. Return to TopPerformance of AVI Codecs
How do the Video Codecs Perform on Typical Video?
To test the performance of the many Video for Windows codecs, I created a ten second video of myself using the U.S. Robotics Bigpicture video capture card which is based on the Brooktree Bt848 chip. I am talking, picking up a microphone, and waving my hands against an essentially static background. This sequence was captured at: 30 frames per second, 320 by 240 pixels, with 24 bit RGB color, no frames dropped during video capture. Note that 320 by 240, RGB 24, at 30 frames per second is similar to a single field of NTSC television video and to the spatial resolution and frame rates of the successful VideoCD products based on MPEG-1 digital video compression. I then compressed the video using different codecs and Microsoft's VidEdit 1.1 video editor. A table of results follows. Except where noted, the video resembles the original uncompressed video closely. In case where the video was significantly degraded, this is noted IN CAPS. The encoders for most codecs have an adjustable quality factor, frequently displayed as a value between 0 and 100. A higher quality factor means the compressed video looks better but has a higher bitrate, a lower compression ratio. There is a trade-off between quality and bitrate. In the technical literature on image and video compression this is known as the rate-distortion function R(D). In the table below, the entries give the quality factor used to encode the test video where appropriate. Results: Codec File Size Compression Ratio/ Bitrate -------------------------------------------------------------------------- Raw 24 bit RGB (Full Frames Uncompressed) 66.187 MB 1:1 / 53 Mbps 30 frames per second 320 by 240 pixels a talking head with some hand waving Radius Cinepak (32-bit) 6.92 MB 9.6:1 / 5.5 Mbps Quality Factor 100, keyframe every 15 frames Compression Technology: Vector Quantization Intel Indeo 5.1 (32-bit) 4.41 MB 15.0:1 / 3.5 Mbps Quality Factor 85, keyframe every 15 frames Compression Technology: Wavelet Intel Indeo 5.1 (32-bit) 0.98 MB 67.8:1 / 784 Kbps Quality Factor 50, keyframe every 15 frames Compression Technology: Wavelet Intel Indeo 5.1 (32-bit) 0.81 MB 81.7:1 / 648 Kbps Quality Factor 25, keyframe every 30 frames Compression Technology: Wavelet Intel Indeo 4.3 (32-bit) 2.46 MB 26.9:1 / 2 Mbps Quality Factor 85 Compression Technology: "Hybrid Wavelet" Intel Indeo R3.2 (32-bit) 3.93 MB 16.8:1 / 3.1 Mbps Quality Factor 65, keyframe every 4 frames Version 3.24.15.03 Compression Technology: Vector Quantization Microsoft Video 1 (32-bit) 3.16 MB 20.7:1 / 2.5 Mbps Microsoft Video 1 Compressor Version 1.0 LOW QUALITY - NOTICABLY GRAINY Microsoft MPEG-4 (32-bit) 0.625 MB 105.9:1 / 500 Kbps MPEG-4 Video High Speed Compressor keyframe every 3600 frames Compression Control 0 Data Rate 128 Kilobits/second LOW QUALITY - BLOCKING ARTIFACTS Compression Technology: Block Discrete Cosine Transform Motion Compensation Intel Indeo Raw R1.2 (32-bit) 24.6 MB 2.7:1 / 19.7 Mbps Version 1.20.15.01 Intel I.263 H.263 (32-bit) 0.764 MB 86.6:1 / 612 Kbps keyframe every 15 frames Quality Factor 50 % LOW QUALITY - BLOCKING ARTIFACTS Compression Technology: Block Discrete Cosine Transform Motion Compensation Intel I.263 H.263 (32-bit) 1.99 MB 33.2:1 / 1.6 Mbps keyframe every 15 frames Quality Factor 100 % Compression Technology: Block Discrete Cosine Transform Motion Compensation Brooktree YUV 411 Raw 32.6 MB 2.0:1 / 26 Mbps BtV MediaStream Verson: 2.01 With a 160 by 120, 30 frames per second, 239 frame (7.996) second, 24 bit color video "Space Shuttle" sequence, from a NASA promotional video showing the launch of the space shuttle and some crowds watching and cheering. Here I was able to calculate and report the Peak Signal to Noise Ratio (in dB, decibels), an objective measure of image and video quality. Codec File Size Compression Ratio/ Bitrate/PSNR ----------------------------------------------------------------------- Full Frames (Uncompressed) 13.1 MB 1 : 1 / 13.5 Mbps 24 bits, 160 x 120, 30 fps / INFINITE Cinepak Codec by Radius [32] 0.85 MB 15.9 : 1 / 848 Kbps Version 1.8.0.12 / 31.08 dB Key frame every 15 frames Quality Factor 100 (DEFAULT ENCODING PARAMETERS) Cinepak Codec by Radius[32] 0.78 MB 17.7 : 1 / 780 Kbps Version 1.8.0.12 / 30.49 dB Key Frame every 15 frames Target Data Rate 100 KBytes/sec Quality Factor 100 Cinepak Codec by Radius[32] 0.42 MB 32.93 : 1 / 420 Kbps Version 1.8.0.12 / 27.087 dB Key Frame every 15 frames Target Data Rate 50 KBytes/sec Quality Factor 100 VISIBLE BLOCKING Cinepak Codec by Radius[32] 0.23 MB 59.6 : 1 / 231 Kbps Version 1.8.0.12 / 23.762 dB Key Frame every 15 frames Target Data Rate 25 KBytes/sec Quality Factor 100 HEAVY BLOCKING/UNACCEPTABLE VIDEO Intel Indeo 5.10 0.993 MB 13.2 : 1 / 992 Kbps Key frame every 15 frames / 32.43 dB Quality Factor 85 (DEFAULT ENCODING PARAMETERS) Intel Indeo 5.10 0.22 MB 59.6 : 1 / 216 Kbps Key frame every 15 frames / 29.6 dB Quality Factor 50 RINGING ARTIFACTS JUST VISIBLE Intel Indeo 5.10 0.177 MB 74 : 1 / 176 Kbps Key frame every 15 frames / 28.4 dB Quality Factor 25 RINGING ARTIFACTS Intel Indeo 5.10 0.158 MB 82.9 : 1 / 152 Kbps Key frame every 15 frames / 27.82 dB Quality Factor 10 RINGING ARTIFACTS Intel Indeo Video Interactive[32] 1.564 MB 8.8 : 1 / 1.564 Mbps Indeo V 4.11.15.62 / 28.686 dB Key frame every 15 frames Target Data Rate 1687 KBytes/sec Quality Factor 85 (DEFAULT) Intel Indeo Video Interactive[32] 0.732 MB 18.9 : 1 / 732 Kbps Indeo V 4.11.15.62 / 28.284 dB Key frame every 15 frames Target Data Rate DISABLED Quality Factor 85 Intel Indeo Video Interactive[32] 0.297 MB 46.5 : 1 / 297 Kbps Indeo V 4.11.15.62 / 26.622 dB Key frame every 15 frames Target Data Rate DISABLED Quality Factor 50 BLOCKING AND RINGING ARTIFACTS Intel Indeo Video Interactive[32] 0.256 MB 53.9 : 1 / 256 Kbps Indeo V 4.11.15.62 / 25.389 dB Key frame every 15 frames Target Data Rate DISABLED Quality Factor 25 HEAVY BLOCKING AND RINGING ARTIFACTS/UNACCEPTABLE Microsoft Video 1 5.198 MB 2.7 : 1 / 5.198 Mbps Key frame every 15 frames / 32.209 dB Quality Factor 100 SLIGHTLY GRAINY Microsoft Video 1 0.79 MB 17.5 : 1 / 790 Kbps Key frame every 15 frames / 30.286 dB Quality Factor 75 (DEFAULT) BANDING AND BLOCKING Microsoft Video 1 0.17 MB 82.8 : 1 / 166 Kbps Key frame every 15 frames / 23.915 dB Quality Factor 50 VERY BLOCKY/UNACCEPTABLE Microsoft Video 1 0.08 MB 163.7 : 1 / 84 Kbps Key frame every 15 frames / 18. 524 dB Quality Factor 25 VERY VERY BLOCKY/UNACCEPTABLE With a 160 by 120 pixel, 15 frames per second, 24 bit color version of the "Talking Head" 10 second video sequence, created by downsampling in space and time with Microsoft VidEdit 1.1 Codec File Size Compression Ratio/ Bitrate ------------------------------------------------------------------------ Full Frames Uncompressed 8.53 MB 1:1 / 6.816 Mbps 24 bit RGB 160 x 120 pixels 15 frames per second Cinepak from Radius (32 bit) 1.20 MB 7.1:1 / 960 Kbps Version 1.10.0.6 Quality Factor 100 Keyframe every 15 frames Intel Indeo 4.5 (32 bit) 0.677 MB 12.6:1 / 541 Kbps Quality Factor 85 Keyframe every 15 frames Intel Indeo R3.2 (32 bit) 0.98 MB 8.7:1 / 784 Kbps Version 3.24.15.03 Quality Factor 65 Keyframe every 4 frames Microsoft Video 1 0.947 MB 9:1 / 758 Kbps Quality Factor 75 SOME BLOCKING ARTIFACTS Intel Indeo Raw 1.2 3.25 MB 2.6:1 / 2.6 Mbps Intel I.263 H.263 0.67 MB 12.8:1 / 535 Kbps Intel Indeo 5.10 (32 bit) 0.973 MB 8.8:1 / 778 Kbps Quality Factor 85 Keyframe every 15 frames Intel Indeo 5.10 (32 bit) 0.367 MB 23.2:1 / 294 Kbps Quality Factor 50 Keyframe every 15 frames Intel Indeo 5.10 (32 bit) 0.339 MB 25.2:1 / 271 Kbps Quality Factor 25 No fixed keyframes LOW QUALITY - BLURRY Brooktree YUV 411 Raw 4.42 MB 1.9:1 / 3.536 Mbps Return to TopWhich Video for Windows Codecs are Available for QuickTime on Apple Macintosh?
As of June 24, 1998, this is an incomplete list: Cinepak (formerly Apple Compact Video) The Video for Windows 1.1 Apple Macintosh utilities include QuickTime system extensions for: Microsoft Video 1 Microsoft Full Frames (uncompressed) Microsoft RLE (Run Length Encoding) Intel provided a QuickTime system extension for Intel Indeo 3.2. As of June 24, 1998 this was available at: http://developer.intel.com/ial/indeo/video/driver.htm As of June 24, 1998 Intel did NOT provide QuickTime versions of Indeo 4.x or 5.x for the Apple Macintosh. Intel did provide a version of Indeo 4.4 for QuickTime for Windows. Return to TopMicrosoft Four Character Codes (FOURCC)
A Four Character Code or FOURCC is a four byte code defined by Microsoft as part of Video for Windows to identify various types of video data. Microsoft defined FOURCC's to uniquely identify pixel layouts and video compressor types in Video for Windows. For example, the FOURCC 'CVID' identifies the Cinepak (formerly Compact Video) video compressor. AVI files contain the FOURCC for the video compressor in the video stream header. In addition to codecs, Four Character Codes identify the pixel layouts used in uncompressed images and video. For example, codes such as 'YUY2' identify layouts of pixels in YUV space (as opposed to RGB). These codes are used in interfacing with graphics cards. For example, the S3 ViRGE/VX chip supports the YUY2 pixel layout. YUY2 is popular because it refers to the 4:2:2 format used in CCIR-601 (D1) digital video. Video for Windows, Display Control Interface (DCI), and Direct Draw all use FOURCC's. Incomplete List of Four Character Codes for Video for Windows Codecs (This is followed by a list of Codes Registered with Microsoft) DIB Full Frames (Uncompressed) RGB Full Frames (Uncompressed) RAW Full Frames (Uncompressed) 0x00000000 Full Frames (Uncompressed) 0x00000000 indicates the hexadecimal value of the Four Character Code is zero. A Four Character Code 'AAAA' has hexadecimal value 0x41414141 where 0x41 is the ASCII code for 'A'. Some video capture and editing products will use the non-standard FOURCC 0x00000000 for uncompressed AVI video instead of the easier to understand 'DIB ' or 'RGB ' or 'RAW '. MSVC or CRAM or WHAM Microsoft Video 1 MRLE Microsoft Run Length Encoding IV31 Indeo 3.1/3.2 IV32 Indeo 3.1/3.2 CVID Cinepak (Radius) ULTI Ultimotion (IBM) MJPG Motion JPEG (Microsoft, Paradigm Matrix, video capture companies) IJPG Intergraph JPEG CYUV Creative YUV YVU9 Intel Indeo Raw YUV9 XMPG Editable (I frames only) MPEG (Xing) MPGI Editable MPEG (Sigma Designs) VIXL miro Video XL MVI1 Motion Pixels SPIG Radius Spigot PGVV Radius Video Vision TMOT Duck TrueMotion S DMB1 Custom Format Used by Matrox Rainbow Runner. This appears to be a type of Motion JPEG IV41 Indeo Interactive (Indeo 4.1 from Intel) IV50 Indeo 5.x, including 5.0, 5.06, and 5.10 UCOD ClearVideo (Iterated Systems) VDOW VDOWave (VDONet) SFMC Surface Fitting Method (CrystalNet) QPEG Q-Team Dr.Knabe 's QPEG video compressor H261 H.261 M261 Microsoft H.261 VIVO Vivo H.263 M263 Microsoft H.263 I263 Intel "I.263" H.263 MPG4 Microsoft MPEG-4 LIST OF CODES REGISTERED WITH MICROSOFT ( July 19, 1999 ) Compressor Code Description ANIM Intel - RDX AUR2 AuraVision - Aura 2 Codec - YUV 422 AURA AuraVision - Aura 1 Codec - YUV 411 BT20 Brooktree - MediaStream codec BTCV Brooktree - Composite Video codec CC12 Intel - YUV12 codec CDVC Canopus - DV codec CHAM Winnov, Inc. - MM_WINNOV_CAVIARA_CHAMPAGNE CPLA Weitek - 4:2:0 YUV Planar CVID Supermac - Cinepak CWLT reserved DUCK Duck Corp. - TrueMotion 1.0 DVE2 InSoft - DVE-2 Videoconferencing codec DXT1 reserved DXT2 reserved DXT3 reserved DXT4 reserved DXT5 reserved DXTC DirectX Texture Compression FLJP D-Vision - Field Encoded Motion JPEG With LSI Bitstream Format GWLT reserved H260 Intel - Conferencing codec H261 Intel - Conferencing codec H262 Intel - Conferencing codec H263 Intel - Conferencing codec H264 Intel - Conferencing codec H265 Intel - Conferencing codec H266 Intel - Conferencing codec H267 Intel - Conferencing codec H268 Intel - Conferencing codec H269 Intel - Conferencing codec I263 Intel - I263 I420 Intel - Indeo 4 codec IAN Intel - RDX ICLB InSoft - CellB Videoconferencing codec ILVC Intel - Layered Video ILVR ITU-T - H.263+ compression standard IRAW Intel - YUV uncompressed IV30 Intel - Indeo Video 3 codec IV31 Intel - Indeo Video 3.1 codec IV32 Intel - Indeo Video 3 codec IV33 Intel - Indeo Video 3 codec IV34 Intel - Indeo Video 3 codec IV35 Intel - Indeo Video 3 codec IV36 Intel - Indeo Video 3 codec IV37 Intel - Indeo Video 3 codec IV38 Intel - Indeo Video 3 codec IV39 Intel - Indeo Video 3 codec IV40 Intel - Indeo Video 4 codec IV41 Intel - Indeo Video 4 codec IV42 Intel - Indeo Video 4 codec IV43 Intel - Indeo Video 4 codec IV44 Intel - Indeo Video 4 codec IV45 Intel - Indeo Video 4 codec IV46 Intel - Indeo Video 4 codec IV47 Intel - Indeo Video 4 codec IV48 Intel - Indeo Video 4 codec IV49 Intel - Indeo Video 4 codec IV50 Intel - Indeo 5.0 MP42 Microsoft - MPEG-4 Video Codec V2 MPEG Chromatic - MPEG 1 Video I Frame MRCA FAST Multimedia - Mrcodec MRLE Microsoft - Run Length Encoding MSVC Microsoft - Video 1 NTN1 Nogatech - Video Compression 1 qpeq Q-Team - QPEG 1.1 Format video codec RGBT Computer Concepts - 32 bit support RT21 Intel - Indeo 2.1 codec RVX Intel - RDX SDCC Sun Communications - Digital Camera Codec SFMC Crystal Net - SFM Codec SMSC Radius - proprietary SMSD Radius - proprietary SPLC Splash Studios - ACM audio codec SQZ2 Microsoft - VXtreme Video Codec V2 SV10 Sorenson - Video R1 TLMS TeraLogic - Motion Intraframe Codec TLST TeraLogic - Motion Intraframe Codec TM20 Duck Corp. - TrueMotion 2.0 TMIC TeraLogic - Motion Intraframe Codec TMOT Horizons Technology - TrueMotion Video Compression Algorithm TR20 Duck Corp. - TrueMotion RT 2.0 V422 Vitec Multimedia - 24 bit YUV 4:2:2 format (CCIR 601). For this format, 2 consecutive pixels are represented by a 32 bit (4 byte) Y1UY2V color value. V655 Vitec Multimedia - 16 bit YUV 4:2:2 format. VCR1 ATI - VCR 1.0 VIVO Vivo - H.263 Video Codec VIXL Miro Computer Products AG - for use with the Miro line of capture cards. VLV1 Videologic - VLCAP.DRV WBVC Winbond Electronics - W9960 XLV0 NetXL, Inc. - XL Video Decoder YC12 Intel - YUV12 codec YUV8 Winnov, Inc. - MM_WINNOV_CAVIAR_YUV8 YUV9 Intel - YUV9 YUYV Canopus - YUYV compressor ZPEG Metheus - Video Zipper The following list shows the FOURCC values for DIB compression. Compressor Code Description CYUV Creative Labs, Inc - Creative Labs YUV FVF1 Iterated Systems, Inc. - Fractal Video Frame IF09 Intel - Intel Intermediate YUV9 JPEG Microsoft - Still Image JPEG DIB MJPG Microsoft - Motion JPEG DIB Format PHMO IBM - Photomotion ULTI IBM - Ultimotion VDCT Vitec Multimedia - Video Maker Pro DIB VIDS Vitec Multimedia - YUV 4:2:2 CCIR 601 for V422 YU92 Intel - YUV Extensive information on Microsoft's Four Character Codes (FOURCC) may be found at Dave Wilson's The Almost Definitive FOURCC Definition List Microsoft maintains a web page of FOURCC's for video, both pixel layouts and compression, with the FOURCC's registered with Microsoft. http://www.microsoft.com/hwdev/devdes/fourcc.htm Microsoft has defined 128-bit (16 byte) identifiers known as Globally Unique Identifiers (GUIDs) to identify virtually everything in the Microsoft Universe. Microsoft has defined mappings from the Four Character Codes used for video and audio codecs to GUID's. GUIDs for Video for Windows Codecs Return to TopVideo Compression Technologies
There are several underlying technologies used by different Video for Windows Codecs. For example, Indeo 3.2 and Cinepak both use Vector Quantization. The international standards MPEG-1, MPEG-2, MPEG-4, H.261, and H.263 all use a combination of the block Discrete Cosine Transform (DCT) and motion estimation/compensation. Several of the New Wave codecs use wavelet transform based image compression (the Discrete Wavelet Transform or DWT). Other technologies include Fractal Image Compression, represented by Iterated Systems. Some general comments on image and video compression: (1) Image compression may be lossless where no information is lost during the compression process. The image produced by the decompression (also known as decoding) process is identical bit by bit with the original image. The widely used GIF format is a lossless image and video (GIF89a or animated GIF) compression format. LOSSLESS COMPRESSION (2) Image compression may be lossy where information is lost during the compression process. These schemes exploit limitations of the human visual system. Some errors are undetectable by the human eye. Even though two images are different at the bit by bit level, the human viewer cannot distinguish them. Some errors are detectable by the human eye but acceptable. Some errors are detectable and very annoying. The widely used JPEG image compression standard is a lossy compression scheme. LOSSY COMPRESSION (3) Within lossy image and video compression, a compression scheme may be perceptually lossless, in which case the human viewer cannot distinguish between the original image or video and the decompressed compressed image or video which has errors introduced by the lossy compression. Most lossy image and video compression have some sort of quality factor or factors. If the quality is good enough, then the image will be perceptually lossless. PERCEPTUALLY LOSSLESS COMPRESSION (3) JPEG's and MPEG's and other lossy compression of images and video are often compressed beyond the point of perceptual losslessness, but the compressed images and video are still acceptable to the human viewer. If the compression and decompression degrades the image in a way that is very similar or identical to the natural degradation of images that might occur in the world then the human visual system will not object greatly. Loss of fine detail in an image is often acceptable because humans perceive objects in the natural world with widely varying levels of detail depending on how close the human viewer is to the object and whether the human viewer is looking directly at the object or not. The human viewer sees less detail if an object is further away. When a human viewer looks directly at an object, the viewer uses a small very high resolution part of the retina. If an object is to one side of the direction of view, the viewer is using lower resolution parts of the retina. Human beings are also used to certain natural forms of degradation such as rain, snow, and fog. Note that in all these natural viewing situation, the human viewer will still perceive sharp edges and lines in an image regardless of the level of detail. The human viewer will usually perceive the objects as the same object despite the variations in level of detail. A horse is a horse is a horse. NATURALLY LOSSY COMPRESSION (4) Sufficiently low quality lossy compression will introduce visual artifacts that are highly annoying to the human viewer. An example is the blocking artifacts visible in highly compressed MPEG video and other block Discrete Cosine Transform based image compression codecs. At some point the lossy compression will introduce artifacts that are very unnatural and are perceived as new objects in the scene or spurious lines within the image. The human visual system is very sensitive to lines or edges. One of its main functions appears to be to detect and characterize physical objects such as other people, potential threats such as predators, food plants, and other things. Objects in the visual system are dilineated by edges. Anything such as a codec algorithm that destroys or creates an edge in an image is noticed, particularly if the edge is interpreted as the border of an object by the human visual and cognitive system. UNNATURAL LOSSY COMPRESSION All of the widely used video codecs are lossy compression algorithms. At sufficiently high compression most of them will have problems with the edges in the image. Vector quantization, block Discrete Cosine Transform, and wavelet based image and video compression inherently do not mathematically represent the intuitive notion of an edge or line. THE POINT: In using and selecting video codecs, the author of an AVI file (or a compressed digital video in general) needs to achieve NATURALLY LOSSY COMPRESSION or better. Once the compression introduces noticable AND unnatural artifacts, the video is of very limited use even in cases where some features and objects are recognizable. A basic description of video compression technologies follows. I have tried to avoid the dense mathematics found in most of the technical video and image compression literature. Return to TopRun Length Encoding
VIDEO CODECS THAT USE RUN LENGTH ENCODING Microsoft RLE (MRLE) Run length encoding is also used to encode the DCT coefficients in the block Discrete Cosine Transform (DCT) based international standards MPEG, H.261, H.263, and JPEG. STRENGTHS AND WEAKNESSES 1. Works for bilevel or 8 bit graphic images such as cel animation. 2. Not good for high resolution natural images. OVERVIEW Run length encoding encodes a sequence or run of consecutive pixels of the same color (such as black or white) as a single codeword. For example, the sequence of pixels 77 77 77 77 77 77 77 could be coded as 7 77 (for seven 77's) Run length encoding can work well for bi-level images (e.g. black and white text or graphics) and for 8 bit images, particularly images such as cel animations which contain many runs of the same color. Run length encoding does not work well for 24 bit natural images in general. Runs of the same color are not that common. Return to TopVector Quantization
VIDEO CODECS THAT USE VECTOR QUANTIZATION Indeo 3.2 Cinepak Indeo 3.2 and Cinepak both use vector quantization. As with most digital video, Indeo and Cinepak work in the YUV color space (not RGB for example). STRENGTHS AND WEAKNESSES 1. The encoding process is computationally intensive. Still cannot be done in real time without dedicated hardware. 2. The decoding process is very fast. 3. Blocking artifacts at high compression. 4. Generally, block Discrete Cosine Transform and Discrete Wavelet Transform based image compression methods can achieve higher compression. OVERVIEW The basic idea of Vector Quantization based image compression is to divide the image up into blocks (4x4 pixels in YUV space for Indeo and
Section 4 of 14 - Prev - Next
All sections - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14
| Back to category graphics - Use Smart Search |
| Home - Smart Search - About the project - Feedback |
© allanswers.org | Terms of use