VC-1,全名VC-1视讯编解码器(Video Codec 1),是微软所开发的视频编解码系统。2003年提出标准化申请,最早名字是VC-9。2006年4月正式通过成为标准。微软是在2003年9月递交VC-1编码格式(开发代号Corona)的,VC-1基于微软Windows Media Video 9(WMV9)格式,而WMV9格式现在已经成为VC-1标准的实际执行部分。直到2006年初,活动图像和电视工程师协会(SMPTE)才正式颁布了由微软提出并开发的VC-1视频编码标准,VC-1被颁布为标准后,SMPTE仍会收取授权费,微软则可从专利中获取一定的版税。
软件简介
VC-1是最后被认可的高清编码格式,不过因为有微软的后台,所以这种编码格式不能小窥。相对于MPEG2,VC-1的压缩比更高,但相对于H.264而言,编码解码的计算则要稍小一些,目前来看,VC-1可能是一个比较好的平衡,辅以微软的支持,应该是一只不可忽视的力量。一般来说,VC-1多为“.wmv”后缀,但这都不是绝对的,具体的编码格式还是要通过软件来查询。
总的来说,从压缩比上来看,H.264的压缩比率更高一些,也就是同样的视频,通过H.264编码算法压出来的视频容量要比VC-1的更小,但是VC-1 格式的视频在解码计算方面则更小一些,一般通过高性能的CPU就可以很流畅的观看高清视频。相信这也是目前英伟达 Geforce 8系列显卡不能完全解码VC-1视频的主要原因。
VC-1的编码结构也是基于块的运动补偿混合编码结构,但与H.264编码结构有些不同(图2),VC-1在频率域中进行帧内预测;另外,VC-1的编码采用的是自适应变长编码。
VC-1的帧内预测采用传统MPEG标准的预测模式,即在频率域内进行帧内预测,在反量化前和重叠平滑化之后采用8×8块的DC系数与AC系数的预测。
与H.246基于空间域的帧内预测相比,VC-1在预测精度和效率方面相对H.264低一些,但技术成熟,易于实现。
VC-1在宏块划分上只有2种:16×16和8×8。虽然VC-1的块尺寸没有H.264完整,但明显的减小了计算量。
VC-1支持支持两种内插运算:1/2像素的Bi1inear内插运算和1/4像素的Bicubic内插运算。
VC-1的帧间预测参考帧仅由前I帧的重建帧所组成,减小了缓存容量,使编解码器的复杂性大为降低。VC-1的B帧预测编码采用前向、后向运动估计和补偿的方式,为提高编码性能主要采取了三个措施。
B帧编码位置只与两个参考帧相关,而与时间无关;采用B帧的帧内编码方案,在出现场景切换时提高了编码的效率;运动矢量采用前向预测前向、后向预测后向的原则,并分别缓存运动矢量,改善了缓存质量,提高了运动矢量的连续性。
VC-1使用的滤波器采用了两项技术:一是采用了环路滤波器,二是采用了重叠平滑技术。
在进行环路滤波操作时每隔4个像素进行一次,加快了处理速度,同时在设计时对平滑区域比较敏感,有利于改善图像效果;采用重叠平滑技术可以消除块对应的真实边界和由量化导致的伪边界造成的环路滤波失真。
VC-1变换的基本单元没有采用固定的矩阵,而是采用自适应变换,共有8×8、8×4、4×8、4×4四种尺寸,对帧内采用4×4,对帧间采用其中任何一种,虽然提高了变换的效果,但结构较复杂。
VC-1同时允许使用死区量化器和常规均匀量化器,在大步长下采用死区量化器,而在小步长下采用均匀量化器,此外量化还考虑图像中的噪声和码率控制参数调整等因素。这种灵活措施可使VC-1不管在高码率下还是在低码率下都能保持良好的率失真性能。
VC-1采用简单的自适应变长编码方案,但采用多码表来提高编码效率,即对运动矢量和编码块的模板信息采用多码表中的一个,其他信息则采用比特平面编码。
VC-1的开发和标准化过程中,除了微软外,还有几家公司声称拥有适用于该技术的专利,包括松下电器、LG电子和三星电子。VC-1的高级配置文件包含了专为编码隔行扫描视频序列和逐行扫描视频而设计的工具,这使得VC-1在广播和视频行业中得到了专业人士的青睐。VC-1编解码规范已由微软以三种编解码器的形式实现,分别是WMV3、WMVA和WVC1,其中WMV3和WVC1分别对应VC-1的简单和主要配置文件,而WMVA是早期的WMV高级配置文件实现。
VC-1在多个平台和设备上得到了支持,包括已停用的微软 Si1ver1ight、HD DVD光盘格式、蓝光光盘格式、Xbox 360视频游戏机、P1ayStation 3游戏机和FFmpeg项目。此外,树莓派基金会在2012年宣布支持VC-1的硬件解码。硬件加速的VC-1解码可以在专用硬件或通用硬件上实现,如GPU,而树莓派4之前的硬件支持VC-1硬件加速解码,尽管需要购买许可证。
VC-1专利池中有18家成员公司,其中大多数专利由四家公司持有:微软、松下电器、LG电子和三星电子。作为SMPTE标准,VC-1的实施可能需要向MPEG LA或其成员支付许可费。截至2023年7月31日,超过76.6%的专利已经过期,这可能影响了VC-1的许可费用和实施成本。
在编码器产品方面,多家公司制造的视频编码器产品支持VC-1编码,用于IPTV和Web流媒体。这些产品基于微软 VC-1编码器SDK,包括In1et、Digita1 Rapids、Harmonic、Envivio、E1ementa1 Techno1ogies、Anystream、Te1estream和Rhozet等。