VC-1
SMPTE 421M, informally known as VC-1, is a video coding format. Most of it was initially developed as Microsoft's proprietary video format Windows Media Video 9 in 2003. With some enhancements including the development of a new Advanced Profile, it was officially approved as a SMPTE video codec standard on April 3, 2006. The technology was developed with contributions from a number of companies, with the majority of patent contributions from Microsoft, Panasonic, LG Electronics and Samsung Electronics.
Developed by | SMPTE, Microsoft, Panasonic, LG, Samsung, etc. |
---|---|
Type of format | Video compression format |
Extended from | WMV 9 |
Standards | SMPTE 421M |
Open format? | No |
VC-1 is supported in the now deprecated Microsoft Silverlight, the now discontinued HD DVD, and in the Blu-ray Disc.
Format
VC-1 is an evolution of the conventional DCT-based video codec design also found in H.261, MPEG-1 Part 2, H.262/MPEG-2 Part 2, H.263, and MPEG-4 Part 2. It is widely characterized as an alternative to the ITU-T and MPEG video codec standard known as H.264/MPEG-4 AVC. VC-1 contains coding tools for interlaced video sequences as well as progressive encoding. The main goal of VC-1 Advanced Profile development and standardization was to support the compression of interlaced content without first converting it to progressive, making it more attractive to broadcast and video industry professionals.
Both HD DVD and Blu-ray Disc adopted VC-1 as a video standard, meaning their video playback devices will be capable of decoding and playing video-content compressed using VC-1. Windows Vista partially supports HD DVD playback by including the VC-1 decoder and some related components needed for playback of VC-1 encoded HD DVD movies.[1]
Microsoft has designated VC-1 as the Xbox 360 video game console's official video format, and game developers may use VC-1 for full motion video included with games. By means of an October 31, 2006 update, all formats of Windows Media Video could be played on the Xbox 360 from a disc, USB storage device, or streaming from a PC via Windows Media Connect/Windows Media Player 11.
VC-1 is supported in the PlayStation 3 console and the FFmpeg project also includes a VC-1 decoder.[2]
On August 24, 2012, the Raspberry Pi Foundation announced hardware decoding support for VC-1.[3]
Microsoft codec implementations
The VC-1 codec specification has so far been implemented by Microsoft in the form of 3 codecs, each identified with a unique four character code.[4]
WMV3
Simple and Main Profiles of VC-1 remained completely faithful to the existing WMV3 implementation, making WMV3 bitstreams fully VC-1 compliant. The WMV3 codec was designed to primarily support progressive encoding for computer displays. An interlaced encoding mode was implemented, but quickly became deprecated when Microsoft started implementing WMV Advanced Profile. Whereas WMV3 progressive encoding was implemented in the YUV 4:2:0 color space, the deprecated interlaced mode was implemented in the less common YUV 4:1:1 color space.
The Windows Media Video 9 (WMV3) codec implements the Simple and Main modes of the VC-1 codec standard, providing high-quality video for streaming and downloading. "It provides support for a wide range of bit rates, from high-definition content at one-half to one-third the bit rate of MPEG-2, to low-bit-rate Internet video delivered over a dial-up modem. This codec also supports professional-quality downloadable video with two-pass and variable bit rate (VBR) encoding."[5]
A number of high definition movies and videos have been released commercially in a format dubbed WMV HD. These titles are encoded with WMV3 Main Profile @ High Level (MP@HL).
WMVA
WMVA was the original implementation of WMV Advanced Profile prior to the acceptance of the VC-1 draft by SMPTE. The codec was distributed with Windows Media Player 10 and Windows Media Format SDK 9.5 install packages. There are slight bitstream differences between WMVA and WVC1, so consequently WMVA is handled by a different DirectShow decoder than WVC1. Some 3rd party hardware and software decoders only decode WMVA based content. As of 2006, WMVA is considered a deprecated codec because it is not fully VC-1 compliant.
WVC1
WVC1, also known as Windows Media Video 9 Advanced Profile, implements a more recent and fully compliant Advanced Profile of the VC-1 codec standard. It offers support for interlaced content and is transport independent. With the previous version of the Windows Media Video 9 Series codec, users could deliver progressive content at data rates as low as one-third that of the MPEG-2 codec and still get equivalent or comparable quality to MPEG-2. The Windows Media Video 9 Advanced Profile codec also offers this same improvement in encoding efficiency with interlaced contents. A decoder for WVC1 is included in Windows Media Player 11, which is bundled with Windows Vista and is available as a download for Windows XP. This implementation is supported in Microsoft Silverlight.
Profiles
Simple | Main | Advanced | |
---|---|---|---|
Baseline intra frame compression | Yes | Yes | Yes |
Variable-sized transform | Yes | Yes | Yes |
16-bit transform | Yes | Yes | Yes |
Overlapped transform | Yes | Yes | Yes |
4 motion vector per macroblock | Yes | Yes | Yes |
¼ pixel luminance motion compensation | Yes | Yes | Yes |
¼ pixel chrominance motion compensation | No | Yes | Yes |
Start codes | No | Yes | Yes |
Extended motion vectors | No | Yes | Yes |
Loop filter | No | Yes | Yes |
Dynamic resolution change | No | Yes | Yes |
Adaptive macroblock quantisation | No | Yes | Yes |
B frames | No | Yes | Yes |
Intensity compensation | No | Yes | Yes |
Range adjustment | No | Yes | Yes |
Field and frame coding modes | No | No | Yes |
GOP Layer | No | No | Yes |
Display metadata | No | No | Yes |
Simple | Main | Advanced |
Bit rates and resolutions
Profile | Level | Maximum Bit Rate | Resolution / Framerate |
---|---|---|---|
Simple | Low | 96 kbit/s | 176 × 144 / 15 (QCIF) |
Medium | 384 kbit/s | 240 × 176 / 30 352 × 288 / 15 (CIF) | |
Main | Low | 2 Mbit/s | 320 × 240 / 24 (QVGA) |
Medium | 10 Mbit/s | 720 × 480 / 30 (480p) 720 × 576 / 25 (576p) | |
High | 20 Mbit/s | 1920 × 1080 / 30 (1080p) | |
Advanced | L0 | 2 Mbit/s | 352 × 288 / 30 (CIF) |
L1 | 10 Mbit/s | 720 × 480 / 30 (NTSC-SD) 720 × 576 / 25 (PAL-SD) | |
L2 | 20 Mbit/s | 720 × 480 / 60 (480p) 1280 × 720 / 30 (720p) | |
L3 | 45 Mbit/s | 1920 × 1080 / 24 (1080p) 1920 × 1080 / 30 (1080i) 1280 × 720 / 60 (720p) | |
L4 | 135 Mbit/s | 1920 × 1080 / 60 (1080p) 2048 × 1536 / 24 |
Other implementations
Due to its origins in Microsoft's WMV9 codec, the most popular implementations of VC-1 encoders have so far been done by Microsoft, though third-party implementations exist as well. Sonic Cinevision PSE, a professional VC-1 encoding tool used predominantly in HD DVD and Blu-ray encoding, is a commercial version of Microsoft's PEP (Parallel Encoder) encoding tool and VC-1 Analyzer tool. Microsoft owns the code development whereas Sonic Solutions owns the sales and distribution. Microsoft also provides a separate VC-1 Encoder SDK which allows any company or software developer to integrate VC-1 encoding into their applications. Non-Microsoft VC-1 implementations (based entirely on the SMPTE specifications) have been done by Ericsson Television and MainConcept.[6] The FFmpeg project includes a free VC-1 decoder.[2][7]
Encoding software
Windows Media Encoder 9 Series encodes VC-1 compliant video files, including WVC1 FourCC media. Windows Media Format 11 Runtime or Windows Media Player 11 must be installed on the computer to ensure full VC-1 compliance across all three profiles (Simple, Main and Advanced). If either of these are installed, Windows Movie Maker can also save VC-1 compliant videos, as can any other application built on the Windows Media Format SDK or Windows Media Codec DMOs. A Windows Media Encoder Studio Edition was initially announced for professional encoding but later cancelled by Microsoft. Microsoft Expression Encoder which is part of Expression Studio supports encoding VC-1 video to the Windows Media (ASF) file format and the IIS Smooth Streaming format.
Video encoder products made by Inlet, Digital Rapids, Harmonic, Envivio, Elemental Technologies, Anystream, Telestream and Rhozet support VC-1 encoding (based on the Microsoft VC-1 Encoder SDK) for IPTV and Web streaming.
Hardware-based encoding and decoding
Because VC-1 encoding and decoding requires significant computing power, software implementation that run on a general-purpose CPU are typically slow, especially when dealing with HD video content. To reduce CPU usage or to do real-time encoding, special-purpose hardware may be employed, either for the complete encoding or decoding process, or for acceleration assistance within a CPU-controlled environment. A hardware VC-1 encoder can be an ASIC or an FPGA.
Hardware-accelerated (also known as hardware-assisted) video decoding can either be done on dedicated, special-purpose hardware or on generic, multi-purpose hardware such as GPUs. The former is typically found in consumer electronics devices such as Blu-ray Disc players and 3G/4G mobile phones, while the latter is typically found in PCs. Nearly all video cards manufactured since 2006 support some level of GPU-accelerated VC-1 decoding on the Windows platform via DirectX Video Acceleration APIs. The native Windows WMV9/VC-1 decoder (wmvdecod.dll) only supports DXVA profiles A, B and C, while 3rd party VC-1 decoders such as CyberLink's support the full DXVA Profile D decode acceleration. There is no support for GPU-accelerated VC-1 decode on the MacOS platform.
Raspberry Pi hardware prior to Raspberry Pi 4 supports VC-1 hardware-accelerated decoding, although it requires purchasing of a license key.[8]
Legal status
Although heavily associated with Microsoft, there are 18 member companies within the VC-1 patent pool.[9] The majority of patents are held by four companies: Microsoft (324 patents), Panasonic (122 patents), LG Electronics (96 patents), and Samsung Electronics (96 patents).[10]
As an SMPTE standard, VC-1 is open to implementation by anyone, although implementers may be required to pay licensing fees to the MPEG LA, the LLC licensing body or directly to its members, who claim to hold essential patents on the format (since it is a non-exclusive licensing body).[11]
More than half of the patents had expired as of April 2020.[10]
Patent holders
The following organizations hold one or more patents in the VC-1 patent pool, as listed by MPEG LA.
Organization | Active patents | Expired patents | Total patents[12] |
---|---|---|---|
Microsoft | 319 | 5 | 324 |
Panasonic | 53 | 69 | 122 |
LG Electronics | 45 | 51 | 96 |
Samsung Electronics | 35 | 61 | 96 |
Dolby Laboratories | 73 | 16 | 89 |
Philips | 0 | 77 | 77 |
Hitachi | 0 | 60 | 60 |
Mitsubishi Electric | 2 | 50 | 52 |
Sony | 3 | 25 | 28 |
JVC Kenwood | 3 | 22 | 25 |
Toshiba | 0 | 21 | 21 |
Fujitsu | 10 | 10 | 20 |
Telenor | 0 | 19 | 19 |
Siemens | 14 | 3 | 17 |
AT&T Intellectual Property | 1 | 15 | 16 |
Sun Patent Trust | 2 | 10 | 12 |
Sharp Corporation | 8 | 0 | 8 |
Orange S.A. | 0 | 7 | 7 |
Nippon Telegraph and Telephone | 0 | 4 | 4 |
Pantech | 0 | 4 | 4 |
ZTE | 0 | 1 | 1 |
See also
- Comparison of H.264 and VC-1
- Video Compression
- VC-2 (Dirac)
References
- "VC-1 Technical Overview". Windows Media. Microsoft. 2006. Retrieved October 5, 2006.
- "VC-1". Summer of Code. Google. Archived from the original on 2007-09-13. Retrieved 2007-03-21.
- "Raspberry Pi VC-1 Hardware Decoding". Raspberry Pi Foundation. 2012. Retrieved August 24, 2012.
- Sullivan, Gary J. (August 2010) [December 2007]. "DirectX Video Acceleration Specification for Windows Media Video v8, v9 and vA Decoding (Including SMPTE 421M "VC-1")" (PDF). Microsoft Developer Network (MSDN) Library, Windows Development Kit, Windows Driver Kit, Device and Driver Technologies, Display Devices (Adapters and Monitors), Design Guide, Windows 2000 Display Driver Model Design Guide. Microsoft. Retrieved 29 October 2010.
- "About the Windows Media Codecs". Microsoft Developer Network. Microsoft. Retrieved 28 April 2014.
- "MainConcept VC-1 Codec Package". MainConcept. Retrieved September 24, 2010.
- "FFmpeg Home/News". FFmpeg. March 9, 2007. Retrieved 29 October 2010.
Nine months without news but with heavy development. A few select highlights are decoders for VC-1/WMV3/WMV9, VMware, VP5, VP6 video and WavPack, IMC, DCA audio and a WMA encoder.
- "New video features! MPEG-2 and VC-1 decode, H.264 encode, CEC support". Raspberry Pi. Retrieved 2015-11-29.
- "VC-1 Licensors". MPEG-LA. Retrieved 2013-05-19.
- "VC-1 Patent List" (PDF). MPEG LA. Retrieved 22 April 2020.
- "MPEG LA, LLC. Press Release" (PDF). Archived from the original (PDF) on November 13, 2006. Retrieved August 17, 2006.
- "VC-1 Patent List" (PDF). MPEG LA. Retrieved 11 July 2019.
External links
- "VC-1 Profiles and Levels". VC-1. Retrieved December 12, 2005.
- "Microsoft WMV Codec Implementations". VC-1. Retrieved February 28, 2006.
- VC-1 reference software analysis at the MultimediaWiki
- RFC 4425 – IETF RTP Payload Format for Video Codec 1
- "VC-1 Decode License Announcement". VC-1. Retrieved August 24, 2012. for the Raspberry Pi