Other Free Encyclopedias » Online Encyclopedia » Encyclopedia - Featured Articles » Contributed Topics from U-Z

WMV-9 Video Compression - Key Compression Tools for WMV-9, WMV-9 Video Specific Semantics and Syntax

frames frame transform data

Definition: Windows Media Video 9 (WMV-9) is a video codec developed by Microsoft, which is widely used for streaming media over Internet due to the popularity of MS Windows operating systems.

Since WMV-9 is a generic coder, many algorithms/tools of it can be used for a variety of applications under different operating conditions. Originally, three profiles were defined – Simple Profile, Main Profile, and Complex Profile. However, Complex Profile was dropped unofficially. Consequently, WMV-9 more focuses on compression technology for progressive video up to Main Profile, while VC-1, a derivative of WMV-9, is developed for broadcast interlaced video as well as progressive video. Those two technologies are almost identical in important tools except the interlace tool, and VC-1 is currently under standardization by the Society of Motion Picture and Television Engineer (SMPTE).

Key Compression Tools for WMV-9

Like all other MPEG standards, WMV-9 is based on motion compensated transform coding. Originally YUV4:2:0 and YUV4:1:1 were defined as input formats for progressive and interlaced video, respectively. Since interlaced video is not considered with WMV-9 anymore, 8bit YUV4:2:0 is the only input format. There is no fixed GOP structure in WMV-9. And, I, P, B, BI and Skipped P are defined as pictures/frames. Unlike MPEG standards, I (Intra) frame doesn’t happen periodically. Any reference can take on I or P (Predicted) frame (except the fist frame -1). Therefore, if there is no big scene change for a lengthy period of time, there could be only P frames as references. However, the number of B frames (Bi-directionally predicted frames) between two reference frames is fixed. Maximally, there could be seven B frames. BI frames are almost identical to I frames. If there is big scene change continuously, some B frames can not capture any similarity from two reference frames. In such cases, intra mode performance might be better than prediction mode performance – BI frame compression is a good choice in such cases. Since BI is not used as a reference, frame dropping based on the ASF file format is possible under certain conditions – any reasons like lack of computation or bandwidth. The last one is Skipped P frame – if the total length of the data comprising a compressed frame is 8 bits, then this signals that the frame was coded as a non-coded P frame in an encoder. A key compression tool in WMV-9 is adaptive block size transform. Transform block size can change adaptively, while size of motion compensation is either 16×16 or 8×8 in WMV-9. Note that this is quite the opposite to that of H.264. H.264 normally uses fixed size 4×4 or 8×8 transforms with various adaptive prediction size of motion compensation. There are 4 transform sizes – 8×8, 4×8, 8×4 and 4×4. The transforms are 16 bit transform where both sums and products of two 16 bit values produce results within 16 bits – the inverse transform can be implemented in 16 bit fixed point arithmetic. Note that the transform approximates a DCT, and norms of basis function between transforms are identical to enable the same quantization scheme through various transform types. There are three options for motion compensation:

  1. Halfpel or quarterpel resolution motion compensation can be used,
  2. Bi-cubic or bi-linear filter can be used for the interpolation, and
  3. 16×16 or 8×8 block size can be used.

These are all combined into a single motion compensation mode to be represented in the Frame level. There is a Sequence layer mode FASTUVMC for motion vector computation of Chroma components. If this is on, computed Chroma MVs are all rounded to halfpel. Thus, interpolation for quarter points is not necessary for Chroma data. Quantization is defined with two parameters, generally specified in video standards – (Qp, Dead-zone). There are two choices about Dead-zone in WMV-9 – 3Qp and 5Qp.

There are two levels where this can be described:

  1. Sequence header has QUANT field for this description – 3Qp or 5Qp for entire sequence.
  2. Explicit option writes in each Picture header, or Implicit option is to describe it through PQindex.

In I frames, PQAUNT is applied to entire MBs. However, DQUANT is used to adaptively describe Qp in each MB in P/B frames. There are other options to use only two Qps for an entire frame depending on either boundary MB or non-boundary MB, too. There two techniques used in WMV-9 to reduce blocky effect around transform boundary – Overlapped Transform (OLT) smoothing and In Loop deblocking Filtering (ILF). OLT is a unique and interesting technique to reduce blocky effect based on a finely defined pre /post processing pair. The idea is that two forward and inverse operations are defined in such a way that original data are recovered perfectly when operations are serially applied (forward and inverse).

The forward transform is to exchange information around boundary edges in adjacent blocks. The forward operation is performed before main coding stage. Let’s say one block preserves relatively good edge data, while the other block looses details of edge data. In this case, the blocky effect is so visible. In decoder side, inverse operation is required to exchange the edge data back again to original data. By doing so, good quality and bad quality edges diffuse each other. Therefore, looking of blocky effect is much lessened. On the other hand, ILF is more or less heuristic way to reduce blocky effect. Blocky pattern is considered high frequency since abrupt value changes occur around block edges.

Considering original data quality, relatively simple low pass filtering is applied about block edges in ILF. ILF is performed on reference frames I and P. Thus, the result of filtering effects quality of the next pictures that use ILFed frames as references. Entropy coding used in WMV-9 is a similar to Context-Adaptive VLC. Based on Qp, from which the original quality can be guessed, a new set of VLC tables is introduced. Such examples include Mid-rate VLC tables and High-rate VLC tables. In addition, based on MVs, another set of VLC tables is introduced. Such examples include Low-motion DC differential tables and High-motion DC differential tables.

WMV-9 Video Specific Semantics and Syntax

There are 5 levels of headers inWMV-9 video bitstream syntax – Sequence, Picture, Slice (not clearly defined in WMV-9), MB and Block. Sequence header contains basic parameters such as profile, interlace, frame rate, bit rate, loop filter, overlap filter and some other global parameters. Picture header contains information about type of picture/ BFraction/ PQindex/LumScale /LumShift/ DQUANT related/ TTMBF/ TTFRM/ DCTACMBF/ DCTACFRM, etc. BFraction data is relative temporal position of B that is factored into the computation of direct mode vectors. Note that this can be overridden with a value that has nothing to do with geometrical position. PQindex is interpreted for QS and quantizer types (3QP/5QP) in Implicit case, while quantizer types are explicitly defined in Sequence or Picture header in other cases. LumScale/LumShift are Intensity Compensation parameters. TTMBF is the flag that tells whether additional field for Transform Type is in MB level or Frame level. DCTACMBF is the flag that tells whether DCT AC Huffman table is defined in MB level or Frame level. Slice is not defined clearly in WMV-9. When STARTCODE is set in the Sequence header however. Slice header can be defined in long startcode to provide a mechanism for synchronization. MB header contains SkipMBbit/ MVmodebit (1MV/4MV option)/ MVDATA/ TTMB, etc. MVDATA tells whether the blocks are coded as Intra or Inter type. If they are coded as Inter, then MVDATA indicates MV differentials. Block layer contains all transform coefficients related data. Sub-block pattern data is included to subdivide the block.

Woertz, Patricia A. - President and Chief Executive Officer of Archer Daniels Midland, Career, Sidelights [next] [back] Witherspoon, John (1942–)

User Comments

Your email address will be altered so spam harvesting bots can't read it easily.
Hide my email completely instead?

Cancel or