Video view

 

Windows Media Video (WMV) generally refers to a range of video codecs developed by Microsoft over the years. Even though the range of codecs start with Windows Media Video 7 series, and subsequently evolved to Windows Media Video 8 and the Windows Media Video 9 series of codecs, Windows Media 7 and 8 codecs remain proprietary to Microsoft, while Windows Media 9 has been standardised as an independent (Society of Motion Picture and Television Engineers) SMPTE standard – SMPTE 421M, also known as VC-1. All these codecs, however, are part of the Windows Media framework.

WMV is not built solely on Microsoft in-house technology. It is believed that WMV version 7 (WMV1) was built upon Microsoft's own non-standard version of MPEG-4 Part 2. As WMV 7 and WMV8 remain proprietary, it is reasonable to assume that they are sufficiently different from WMV9 which Microsoft itself claims as their flagship multimedia codec series that has been made an open standard.

The Windows Media Video codecs were originally developed as proprietary codecs for low-bit rate streaming applications. In 2003 Microsoft drafted a video codec specification based on its Windows Media Video version 9 codec, and submitted it to SMPTE for standardisation. The standard was officially approved on April 3, 2006 as SMPTE 421M, thus making the Windows Media Video 9 codec no longer a proprietary technology. Earlier versions of the codec (7 and 8) are still considered proprietary, as they fall outside the SMPTE 421M standard. The video stream is often combined with an audio stream of Windows Media Audio and encapsulated in Advanced Systems Format files, carrying the .wmv or .asf file extensions.

In the past, interlaced video content was always de-interlaced before encoding with the Windows Media Video codec. Now, the Windows Media 9 video encoder supports compression of interlaced content without first converting it to progressive. Maintaining interlacing in an encoded file is important, if the content is ever rendered on an interlaced display, such as a television. Transport-independence also enables the delivery of Windows Media Video 9 Advanced Profile over systems that are not Windows Media-based, such as standards-based broadcast infrastructures (through native MPEG-2 transport streams), wireless infrastructures (through real-time transfer protocol [RTP]), or even DVDs.

WMV is generally packed into an Advanced Systems Format (ASF) container. It can also be put into AVI or Matroska container formats. The resulting files may be named .avi if it is an AVI-contained file, or .wmv or .asf if it is an ASF file, or .mkv if it is a MKV file. WMV can be stored in an AVI file when encoding with the VirtualDub encoder and using the WMV9 VCM codec implementation. Microsoft's Windows Media Player for the Macintosh does not support all WMV encoded files, since it supports only the ASF file container.

The only difference between ASF files and WMV or WMA files are the file extensions and the MIME types. The MIME type for a WMV file is video/x-ms-wmv, and for WMA it is audio/x-ms-wma. The MIME type for ASF is video/x-ms-asf. The basic internal structure of the files is identical.

The change in extensions was made to make it easier for an application to identify the content of a media file. A .wma file extension designates a file containing only audio. A .wmv extension designates a file containing both video and audio.

WMV compression technique

WMV9 codes a sequence of images in the YUV 4:2:0 colour space. The YUV model defines a colour space in terms of one luminance and two chrominance components. Y stands for the luminance component (the brightness), and U and V are the chrominance (colour) components. YUV 4:2:0 indicates a planar YUV colour space, where a 2x2 block of pixels in an image is represented by 4 Y samples, 1 for each pixel, but all 4 pixels share a U sample and a V sample. YUV 4:2:0 can be transported within a general purpose container format such as .asx. Usually, Y data appears first, followed by the U data, then V data. Since 6 bytes, or 48 bits represent 4 pixels in this format, an average of 12 bits are required to represent a single pixel in this scheme.

When WMV9 codes an image, it divides the image into macro blocks. Each 16x16 macro block comprises 6 8x8 sample blocks (4 Y blocks, 1 U block, and 1 V block as explained above). Further, the coding method may divide an individual 8x8 block into 2 8x4 blocks, 2 4x8 blocks, or 4 4x4 blocks.

WMV9 uses a variation of the ‘Discrete Cosine Transform’ to convert blocks of samples into a transform domain to facilitate more efficient coding. The transform may operate on the full 8x8 block or any of the 3 supported sub-block sizes (8x4, 4x8, or 4x4). Unlike many codec standards preceding it, WMV9 defines a bit-accurate transform method that all implementations are expected to conform to, so as to minimise transform error.

After transforming sample data into the transform domain, WMV9 re-orders the transformed data in a zigzag pattern, which makes certain successive coding techniques more effective. It has 31 different zigzag patterns depending on various parameters.

Quantization is the compression step that potentially loses the most information in a compression scheme such as WMV9. This codec features an impressive number of quantization modes.

WMV9 uses a number of bit planes which are simply maps of ones and zeros that specify properties for the macro blocks in an image. For example, a particular bit plane codes information about which macro blocks are not coded in a frame. These bit planes are coded into the final bit stream using a number of methods. In addition the usual type of differential coding where differences between successive values are stored rather than the absolute values, WMV9 also uses XOR bit operations.

 

 

Top  Back to Top   Back To Mirror Back to Mirror

Copyright © 2006 Wijeya Newspapers Ltd. All rights reserved.