VC-1
Internet media type | video/vc1 |
---|---|
Developed by | SMPTE, Microsoft, Panasonic, LG, Samsung, etc. |
Initial release | 24 February 2006 |
Latest release | SMPTE ST 421:2013 8 October 2013 |
Type of format | Video coding format |
Extended from | WMV 9 |
Standards | SMPTE ST 421 |
Open format? | Yes |
Free format? | No[1] |
SMPTE 421,[2] 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 standard on April 3, 2006. It was primarily marketed as a lower-complexity competitor to the H.264/MPEG-4 AVC standard. After its development, several companies other than Microsoft asserted that they held patents that applied to the technology, including Panasonic, LG Electronics and Samsung Electronics.
VC-1 is supported in the now-deprecated Microsoft Silverlight, the briefly-offered HD DVD disc format, and the Blu-ray Disc format.
Format
[edit]VC-1 is an evolution of the conventional block-based motion-compensated hybrid video coding design also found in H.261, MPEG-1 Part 2, H.262/MPEG-2 Part 2, H.263, and MPEG-4 Part 2. It was widely characterized as an alternative to the ITU-T and MPEG video codec standard known as H.264/MPEG-4 AVC. The Advanced Profile of VC-1 contains tools designed for coding interlaced video sequences as well as progressive scan video. The main goal of the development and standardization of the VC-1 Advanced Profile was to support interlace-optimized compression of interlaced content without first converting it to progressive scan, making it more attractive to broadcast and video industry professionals using the 1080i format.
Both HD DVD and Blu-ray Disc adopted VC-1 as a supported video format, meaning their video playback devices are required to 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.[3]
Microsoft designated VC-1 as the Xbox 360 video game console's official video format, and game developers could 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.[4]
On August 24, 2012, the Raspberry Pi Foundation announced hardware decoding support for VC-1.[5]
Microsoft codec implementations
[edit]The VC-1 codec specification has so far been implemented by Microsoft in the form of three codecs, each identified with a unique four character code.[6]
WMV3
[edit]The 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 using the YUV 4:2:0 color sampling scheme, the deprecated interlaced mode was implemented using the less common YUV 4:1:1 sampling scheme.
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."[7]
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
[edit]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
[edit]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[citation needed]. The Windows Media Video 9 Advanced Profile codec also offers this same improvement in encoding efficiency with interlaced contents[citation needed]. 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
[edit]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 |
1⁄4 pixel luminance motion compensation | Yes | Yes | Yes |
1⁄4 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
[edit]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 2048 × 2048 / 30 |
Other implementations
[edit]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.[8] The FFmpeg project includes a free VC-1 decoder.[4][9]
Encoding software
[edit]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
[edit]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.[10]
Legal status
[edit]Although heavily associated with Microsoft, there are 18 member companies within the VC-1 patent pool.[11] The majority of patents are held by four companies: Microsoft (324 patents), Panasonic (122 patents), LG Electronics (96 patents), and Samsung Electronics (96 patents).[12]
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).[13]
Over 76.6% of the patents have expired as of July 31, 2023.[12]
Patent holders
[edit]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[14] |
---|---|---|---|
Microsoft | 262 | 204 | 466 |
Panasonic | 5 | 117 | 122 |
LG Electronics | 11 | 85 | 96 |
Samsung Electronics | 4 | 92 | 96 |
Dolby Laboratories | 9 | 95 | 104 |
Philips | 0 | 77 | 77 |
Hitachi | 0 | 60 | 60 |
Mitsubishi Electric | 0 | 52 | 52 |
Sony | 0 | 28 | 28 |
JVC Kenwood | 0 | 25 | 25 |
Toshiba | 0 | 21 | 21 |
Fujitsu | 0 | 20 | 20 |
Telenor | 0 | 19 | 19 |
Siemens | 2 | 16 | 18 |
AT&T Intellectual Property | 0 | 16 | 16 |
Sun Patent Trust | 0 | 12 | 12 |
Sharp Corporation | 0 | 8 | 8 |
Orange S.A. | 0 | 7 | 7 |
Nippon Telegraph and Telephone | 0 | 4 | 4 |
Pantech | 0 | 4 | 4 |
ZTE | 0 | 1 | 1 |
Total (All Manufacturers) | 293 | 963 | 1256 |
See also
[edit]References
[edit]- ^ Windows Media 9 Video Codec; SMPTE VC-1 (Full draft). Sustainability of Digital Formats. Washington, D.C.: Library of Congress. 26 May 2010. Retrieved 13 December 2021.
- ^ "ST 421:2013 - SMPTE Standard - VC-1 Compressed Video Bitstream Format and Decoding Process". St 421:2013: i–493. October 2013. doi:10.5594/SMPTE.ST421.2013. ISBN 978-1-61482-770-2. Archived from the original on June 6, 2018.
- ^ "VC-1 Technical Overview". Windows Media. Microsoft. 2006. Retrieved October 5, 2006.
- ^ a b "VC-1". Summer of Code. Archived from the original on 2007-09-13. Retrieved 2007-03-21.
- ^ "Raspberry Pi VC-1 Hardware Decoding". Raspberry Pi Foundation. 2012. Archived from the original on October 4, 2013. 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. 24 August 2012. Retrieved 2015-11-29.
- ^ "VC-1 Licensors". MPEG-LA. Retrieved 2013-05-19.
- ^ a b "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
[edit]- "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. Archived from the original on October 4, 2013. Retrieved August 24, 2012. for the Raspberry Pi