编解码学习笔记(七):微软Windows Media系列

资料来源于wiki与http://chaoqunz.blog.163.com/blog/static/6154877720084493941186/

Microsoft 公司主导的音频视频编码系列,它的出现主要是为了进行网络视频传输,现在已经向 HDTV 方面进军,开发了 WMV HD 应用。WMV(Windows Media Video)是微软公司开发的一组数字视频编 解码格式的通称,它是Windows Media架构下的一部分。它最初是为低速率流媒体应用作为专有编解码开发出来的,但是2003年微软公司基于Windows Media Video第9版编解码起草了视频编解码规范并且提交给SMPTE申请作为标准。这个标准在2006年3月作为SMPTE 421M被正式批准,这样Windows Media Video 9编解码就不再是一个专有的技术。早期的变解码版本(7和8)仍然被认为是专有技术,因为它们不在SMPTE 421M标准的涵盖范围内。

微软媒体系列分为WMV(Windows Media Video)和WMA(Windows Media Audio),说白了就是微软的视频和音频。

容器

视频流通常与Windows Media Audio音频流组合在一起并且使用扩展名为.wmv或 者.asf的Advanced Streaming Format的 文件进行封装。WMV通常使用Advanced Streaming Format(ASF) 封装,它也可以使用AVI或者Matroska格 式封装。如果是AVI封装的文件结果文件可以是.avi,如果是ASF封装的话则是.wmv或者.asf, 如果是MKV封装的话则是.mkv。当使用VirtualDub编 码器编码和WMV9 VCM编解码实现的时候WMV可以存储在AVI文件中。用于Mac的微软公司媒体播放器不支持所有的WMV编码的文 件,因为它只支持ASF文件 封装,Flip4Mac和QuickTime或 者用于MacOSX的MPlayer可 以播放更多的文件。

WMV

扩展名:     .wmv
互联网媒体类型:     video/x-ms-wmv
统一类型标识:    com.microsoft.windows-?media-wmv
开发者:     微软公司
格式:     数字视频

WMV(Windows Media Video)是微软公司开发的一组数字视频编解码格式的通称,它是Windows Media架构下的一部分。它最初是为低速率流媒体应用作为专有编解码开发出来的,但是2003年微软公司基于Windows Media Video第9版编解码起草了视频编解码规范并且提交给SMPTE申请作为标准。这个标准在2006年3月作为SMPTE 421M被正式批准,这样Windows Media Video 9编解码就不再是一个专有的技术。早期的变解码版本(7和8)仍然被认为是专有技术,因为它们不在SMPTE 421M标准的涵盖范围内。

WMV不是仅仅基于微软公司的自有技术开发的。从第七版(WMV1)开始,微软公司开始使用它自己非标准MPEG-4 Part 2。但是,由于WMV第九版已经是SMPTE的一个独立标准(421M,也称为VC- 1),有理由相信WMV的发展已经不像之前那样是一个它自己专有的编解码技术。现在VC-1专利共享的企业有16家(2006年4月),微软公司也是MPEG-4 AVC/H.264专利共享企业中的一家。

正式名称 FourCC Codec版本 描述
Windows Media Video v7 WMV1 0  
Microsoft MPEG-4 Video Codec v3 MP43 1  
Windows Media Video v8 WMV2 2  
Microsoft MPEG-4 Video Codec v2 MP42 3  
Microsoft ISO MPEG-4 Video Codec v1 MP4S 4  
Windows Media Video v9 WMV3 5  
Windows Media Video v9 Advanced Profile WMVA 6 deprecated as not VC-1不完全兼容。
Windows Media Video v9 Advanced Profile WVC1 7 VC-1完整支持

FourCC全称Four-Character Codes,是由4个字符(4 bytes)组成,是一种独立标示视频数据流格式的四字节,在wav、avi档案之中会有一段FourCC来描述这个AVI档案,是利用何种codec来编码的。因此wav、avi大量存在等于“IDP3”的FourCC。

Microsoft MPEG-4 v1/v2/v3

常见的有1.0、2.0、3.0三种版本,是基于MPEG-4技术的,其中3.0并不能用于AVI的编码,只能用于生成支持“视频流”技术的ASF文件。

Microsoft MPEG-4 version 1
是微软基础的视频编码,是非标准的MPEG-4,与MPEG-4 Part2不兼容。FourCC:MPG4

Microsoft MPEG-4 version 2
VFW的基础编解码。与V与MPEG-4 Part2不兼容。VFW(Video for Windows),是微软推出的关于数字视频的一个软件开发包,VFW的核心是AVI文件标准。AVI(Audio Video Interleave)文件中的音、视频数据帧交错存放。围绕AVI文件,VFW推出了一整套完整的视频采集、压缩、解压缩、回放和编辑的应用程序接口 (API)。由于AVI文件格式推出较早且在数字视频技术中有广泛的应用,所以VFW仍然有很大的实用价值,而且进一步发展的趋势。在VC++开发环境中调用VFW和使用其它开发包没有什么不同,只是需要将VFW32.lib 文件加入工程中,但在开放视频捕捉与压缩管理程序时需要其它软件硬件设置。VFW为AVI文件提供了丰富的处理函数和宏定义,AVI文件的特点在于它是典型的数据流文件,它由视频流、音频流、文本流组成。所以对AVI文件的处理主要是处理文件流。FourCC:MP42

Microsoft MPEG-4 version 3
VFW的基础编解码。与V与MPEG-4 Part2不兼容。最终只用于ASF文件。FourCC:MP43

除此之外:
Microsoft ISO MPEG-4 version 1
基于DirectX Media Objects (DMO)-based编解码,与MPEG-4 SP(Simple Profile)兼容 。FourCC:MP4S。

Microsoft ISO MPEG-4 version 1.1
与MPEG-4 ASP(Advanced Simple Profile)兼容。FourCC:M4S2

目前在Windows平台上比较实用的MPEG-4视频编解码器主要有:由微软公司开发的Microsoft MPEG-4 Codec v1/v2 /v3,主要是配合微软公司的流媒体技术使用;在Microsoft MPEG-4 v3的基础上,由DivXNetworks公司开发的 DivX Codec;在OpenDivX的基础,遵循GPL开发的开源XviD Codec。
这些codec在windows中以dll方式呈现。

Windows Media Video 7

是DirectX Media Objects (DMO)-based codec。Microsoft 正式开发的 第一个 Windows Media Video,开始脱离了MPEG-4,和MPEG-4 不兼容,从这一点上可见微软的野心(微软公司开始使用它自己非标准MPEG-4 Part 2)。可惜这个版本压缩效果非常烂,打破了微软一飞冲天的美梦,不过它在压缩速度上非常快,现在网络上有很多采用这种格式压缩的 WMV。FourCC:WMV1

Windows Media Video 8

在 WMV7 基 础上改进的版本,质量上面进不了不少。是DMO-based codec。FourCC:WMV2.

Windows Media Video 9

微软的重头戏,不光是这一个编码,V9 系列更是一个平台,让微软有足够的能力挑战 MPEG,ITU 等标准化组织。虽然这个版本并没有微软吹得那么厉害,特别 是低码率下比较差,不过跟以前版本相比进步还是非常多的。特别是 WMV HD 的应用,让微软也跻身视频标准领域。
DMO-based codec. Video for Windows (VfW/VCM) version also available. FourCC:WMV3

Windows Media Video 9 Advanced Profile

在WMV4的Simple和Main profile levels与VC-1标准中的是相同的。VC-1中的Advanced Profile采用一个新的WMV编解码,称为Windows Media Video 9 Advanced Profile。它提高隔行扫描的内容压缩,并与传输无关,使得他可以封装在MPEG的传输流(TS)中或者采用RTP传输。它与之前的WMV9的codec是不兼容的。

随着 Windows Media Player 10 推出的编码器,能够更进一步控制 WMV9 的质量。但是不能在老版本的 WMP9 上播放,也就是不兼容老版本的 WMP9,真不知微软在搞什么?

FourCC:WVC1,VC-1兼容。FourCC:WMVA,不推荐使用非VC-1兼容方式。我们可以认为WMV9与VC-1兼容。

Windows Media Video 9 Screen

静态屏幕无损压缩编码,质量非常好,压缩率高,只针对如屏幕等变化非常小的环境。WMV Screen是一个screencast编解码器,它可以捕抓动态的屏幕内容,将第三方抓屏程序转换到WMV9 Screen文件中。用于之一是计算机的step-by*step演示视频,第一版本是WMV7 Screen,第二个版本也就是当前的版本是WMV9 Screen,支持CBR和VBR。

Windows Media Video 9 Image

静态图像压缩编码。WMV Image是一个视频幻灯片的编码器,播放多个画面时可根据时间进行平移和过度效果展现。与WMV9相比,具有高压缩率和高态图像质量。由于编解码依赖解码器(播放器)生成实施视频帧,播放WMV Image文件(即使在普通的1024×768,30fps)要求很高的处理能力。在最新的版本,WMV9.1 Image,使用Photo Story3提高转换效果,耽于原来的WMV9 Image不兼容。

视频质量

微软宣称WMV9提供的压缩率为MPEG-4的2倍,MPEG-2的3倍。微软还宣称WMV9的压缩效率笔WMV8高15%~50%。但是在2005年的一个测试报告中,显示WMV9的压缩效率比WMV8要差。

Windows Media Player 10 Mobile

在wiki上,我们注意到“Windows Media Player 10 Mobile”,显示WMV10将用于移动,可能是Windows Mobile。但是我们没有查到进一步的资料。

WMA

扩展名     .wma
互联网媒体类型     audio/x-ms-wma
统一类型标识     com.microsoft.windows-?media-wma
开发者     微软
格式     数字音频

WMA(Windows Media Audio)是微软公司开发的一种数字音频压缩格式。一些使用Windows Media Audio编码格式编码其所有内容的纯音频ASF文件也使用WMA作为扩展名。WMA格式为微软公司私有,但是随着苹果公司的iTunes对它的支持,这个格式正在成为MP3格式的竞争对手。它兼容MP3的ID3元数据标签,同时支持额外的标签。

WMA可以用于多种格式的编码文件中。应用程序可以使用Windows Media Format SDK进行WMA格式的编码和解码。一些常见的支持WMA的应用程序包括Windows Media Player、Windows Media Encoder、RealPlayer、Winamp等等。其它一些平台,例如Linux和移动设备中的软硬件也支持此格式。

WMA 7之后的WMA支持证书加密,未经许可(即未获得许可证书),即使是非法拷贝到本地,也是无法收听的。同时,微软公司开始时宣称的:同文件比MP3体积小一倍而音质不变,这也得到了兑现。另外,微软公司在WMA 9大幅改进了其引擎,实际上几乎可以在同文件同音质下比MP3体积少1/3左右,因此非常适合用于网络流媒体。

跟MP3相比,WMA在高位的音质渲染力明显不足,甚至还比MP3更差;与MP3相同,通常的WMA也是有损数据压缩的文件格式,对于有更高要求的用户来说WMA并不是一个适合的格式。但在WMA9版本开始支持无损压缩——Windows Media Audio 9 Lossless(在安装WMP11或Windows Media Format 11之后升级至9.1,无损压缩版本最高支持5.1声道编码)。此外WMA也与MP3一样同为有专利版权的文件格式。支持的设备需要购买使用版权。

Windows Media Audio v1/v2

微软最早的音频编码技术,用于 ASF 中,后来被破解也用在 DivX Audio 中,质量比较差。

Windows Media Audio 7/8/9

随着各种不同的 WMV 而推出的相应的音频编码,质量节节提升,不过还没有达到 64kbps CD音质的神化。

Windows Media Audio 9 Professional

WMA9 中 出现的新编码,主要用于多声道编码和高采样率音频的编码,质量不错。

Windows Media Audio 9 Voice

针对语音的编码,最高 20kbps ,不过和 AMR 相比,效果就太差了。

Windows Media Audio 9 Lossless

无损音频编码,可以完美保留CD原质量,是CD备份的不错选择,不过代价是体积过大。

VC-1

VC-1,全名VC-1视讯编解码器(Video Codec 1),是基于微软WMV9,并推广为工业标准。2003年提出标准化申请,最早名字是VC-9。2006年4月正式通过成为标准。VC-1是SMPTE 421M视频编解码标准的正式名称。HD DVD 和蓝光光碟(Blu-ray Disc)都支援VC-1。微软表示Windows Vista将支援VC-1影像压缩技术的HD DVD规格。电影及电视学会(SMPTE)已采用VC-1为视讯压缩标准。

VC-1是基于Windows Media Video 9压缩技术的影像压缩标准,由三大编解码元件所组成,每一个编解码元件都具有其独自的FourCC编码。 

  WMV3

即WMV 9。VC-1的Simple和Main这两种Profile就是WMV3应用,使得与WMV 9兼容,支持逐行扫描编解码。隔行扫描的编解码也提供,但在很快地,在微软推出WMV Advanced profile后,不推荐采用。逐行扫描编解码用于YUV4:2:0,隔行的(不推荐)用于YUV4:1:1。

WMV3用于高质量的视频和流媒体。同样的质量,它只是MPEG-2的带宽的1/2~1/3。在商业上用于高清电影和视频的WMV HD,编码为WMV3 Main Profile @ High Level (MP@HL)。

  WMVA

它是在WMV Advanced Profile被SMPTE吸收为作为VC-1草案之间出现的。它与WVC1之间细微的差役,因此解码器也不一样,2006年起,WMVA被认为是个过时的编码,因为与VC-1不完全兼容。

  WVC1

也就是WMV 9 Advanced Profile,实现了个更新的,完全符合的Advanced Profile的VC-1编码标准。它支持隔行扫描内容,与底层传输无关。

压缩技术整合了MPEG及H.264之优点,采用Biliner和Bicubic方式,次像素(Sub-Pixel)最小可达4分之1像素。VC-1只有4种动作补偿(motion composition),压缩比无法胜过H.264。VC-1在压缩时间上,明显比H.264短了许多,复杂度约只有H.264的50%,对特效电影有很杰出的效能表现。由于H.264 使用较小尺寸的转换公式与无法调整的量化矩阵,造成不能完整保留影像的高频细节资讯。

wiki上有一篇VC-1和H.264比较的文章,很值得看一看。我看到这样的一个段:

VC-1:需付费。Reference decoder 并非免费,不过附赠外部文件

H.264:免费.Reference encoder 和 decoder 也是免费。此外,核查小组及M4IF邮寄名单可在一个可能会收到回答了AVC的有关问题。

除此之外,我们在Google上search H.264 license中也看到了说free的字样。但是,果真如此吗?

版权问题

我一直认为H.264是需要付费的,因此我对上面的表述不确定是否正确。我上网查了一下:也看到“H.264的基本系统无需使用版权,具有开放的性质,能很好地适应IP和无线网络的使用,”的字样。基于这些疑问,我上网查了一下。IP总是个麻烦的问题,最好向Andriod那样,提供平台,版权,产品维护都是手机生产厂家的事情。

MPEG LA公司是世界领先的替代技术特许服务提供商,它使用户能够通过单笔交易从多个专利持有人那里购买某项技术标准或平台所必须的全球专利权,而不必分别洽谈各项特许权。只要独立管理的一站式专利特许权能够开启方便之门、帮助用户推广某项技术, MPEG LA公司率先采用的特许模式就能提供解决方案。MPEG LA公司的特许权之一就是MPEG-2数字视频压缩,这一技术帮助产生了消费电子历史上应用最为广泛的标准。包括57个国家逾870个MPEG-2基本专利的MPEG-2专利组合特许权拥有至少1500家被许可人,覆盖目前全球市场上的大多数MPEG-2产品,包括机顶盒、DVD播放器、数字电视机、个人电脑和DVD视频光盘。作为独立特许经营管理人,MPEG LA公司不与任何标准管理机构相关联,也不是任何专利权持有人的关联人。欲了解更多信息,请登录http://www.mpegla.com。 (http://www.dvbcn.com/2010-01/28-44547.html)

我去MEPG-LA网上查阅,发现有AVC/H.264,也就是说这个是需要付费的。在资料中有下面的一张PPT。:


我不是很看得的懂,比如一个H.264的片子,是提供下载片子的内容供应商付钱,还是提供解码器的终端设备商需要付费?又例如使用H.264进行视频电话,小于12分钟不收费,大于12分钟收费?混乱啊。因此知识产权这摊事,还是留个专业的法律人士来负责。

关链接: 我的产业生态链和杂谈文章

 

你可能感兴趣的:(windows,Microsoft,video,微软,Codec,h.264)