微博

QQ

选择一款正确的流媒体编解码器

2011-11-28 Karl Johnson InfoAV China


选择一款正确的流媒体编解码器
本文摘自Extron公司《AV System Design 2011》夏季刊
订阅网址:www.extron.com/avsd

    每天,基于IP技术的视频都在我们的工作和生活中广泛应用。随着网络的日益扩展和流媒体技术的逐渐成熟,我们可以通过视频获得更多的信息,更好地进行沟通和交流。在视音频行业,像视频会议这样的流媒体应用多年来已经很普遍了,新的应用也在不断涌现,因为相对于现有的应用来说流媒体技术具有更新的功能和更经济的成本。随着流媒体产品的不断增多,专业视音频工作者需要从浩如烟海的产品中挑选出适合自己应用的流媒体产品和压缩编解码器,这是一个很大的挑战。

    “codec”这个词有多种含义。它是编码器和解码器这两个词的组合,用于概括所有具有这一功能的硬件或软件产品,比如视频会议编解码器,可以同时对视频进行编解码操作。它也可以用来描述模拟-数字-模拟的转换处理。当我们仔细研究各种用于视音频流媒体的编解码器,再结合这一领域内技术的飞速发展,就会发现很多问题,比如:

    ● 为什么会有这么多不同的编解码器?

    ● 这些编解码器各自优劣?

    ● 有没有一种编解码器能够适用于所有的应用?

    ● 这些编解码器在技术性能上有什么不同?分别适用于哪种应用环境?

    ● 市面上有标准编解码器和专用编解码器两种,该如何选择?

    消费级和企业级应用

    家用设备或个人电脑的使用经验会影响到人们对企业应用的期望。我们经常会听到客户抱怨说为什么在家里用Skype很好,但在公司里用类似的通信工具开视频会议时就很差。我曾经听到有人说:“为什么我在家里和朋友Skype的时候,声音和画面都很清楚,但是在用了更加昂贵的设备的办公室里,画面和声音却这么差?”

    造成这一结果的原因有很多。首先,这个人的办公室里使用的可能是一套陈旧的标清视频会议系统。这种系统是用很低的带宽传输了一个低分辨率的信号,显示在大尺寸的平板显示器上。而在家里,Skype的应用窗口在中等大小的桌面显示器上只占了一小块。我们感觉到质量更好,是因为视频以更高的像素密度显示在应用窗口中,从而与流媒体的分辨率相匹配。如果在更大的平板显示器上显示Skype视频,它也会变得颗粒化。流媒体质量标准并不固定,重要的是要为自己的应用找到“够好”的质量。不顾具体情况的话,客户就会根据家里的经验提高在办公室的期望。

    此外,个人电脑上的应用并不会支持关键任务所需的可靠性,或提供企业级设备所必须提供的安全性。消费级和企业级解决方案所要面对的需求是不一样的。

    快速发展的平板电脑和手机上的视频通讯可能扩大这一矛盾,因为用户希望能够用移动计算设备和智能手机方便地连接专业视音频系统。

    编解码标准

    国际或行业标准组织已经开发了很多编解码标准,独立组织也开发了一些可以用于开放和封闭的应用环境中的编解码器。还有些独立开发的编解码器,则需要从专用的转换成标准的形式。

    最常见的编解码标准都来自于标准组织。联合图像专家组——JPEG开发了用于静止图像压缩的JPEG和JPEG2000,同时在运动图像中也得到了应用。最新的JPEG2000标准已经成为了数字影院行业从硬盘播放运动图像的压缩标准。

    国际标准化组织(ISO)中的运动图像专家组,或MPEG,开发了第一种MPEG-1编解码标准。随后的MPEG-2提高了图像的质量,并且能够支持高清视频。MPEG-2广泛应用于DVD、有线电视和卫星分配以及高品质广播应用领域。

    国际电信联盟——ITU建议采用H.323视音频通信协议,其中包括H.261、H.263以及H.264,这些视频编解码主要适用于在通信线路,如ISDN、T1、E1或网络上的互动式视频会议应用。

    ITU和ISO共同组成了联合视频组织——JVT,并开发了H.264、MPEG-4第10部分和高级视频编解码(AVC)。今天我们通常采用H.264,在新的流媒体硬件编码器中它已经取代了MPEG-2成为最常用的编解码方式。

    在广播电视行业,电影电视工程师协会——SMPTE和欧洲广播联盟——EBU早就为广播电视、节目交换以及传输和制作系统的交互规定了平台。他们为各自的行业推荐并定义了标准,这也延伸到了其他行业。

    微软和松下都针对特定的应用自主研发了视频编解码器。微软的VC-1大大提高了对隔行扫描视频进行压缩的效率和质量,因此吸引了隔行扫描视频广播行业的兴趣。VC-1开始是一种专用的编解码器,但随后SMPTE把它作为了一个标准。微软在WMV3、WMVA中采用了VC-1编解码标准,在Windows媒体播放器中采用了WVC1。松下的AVC-Intra编解码器完全符合H.264 MPEG-4/AVC标准和SMPTE的工业标准。它针对的是电子新闻采集领域所使用的典型的10比特录像机,当然也可以用于存储和归档应用中。该技术的发展与松下生产的相关设备如摄像机、录像机和摄录一体机的性能密切相关。

    正如你所看到的那样,这两家公司在各自的目标应用内分别研发了编解码器。VC-1一开始是专用的,而AVC-Intra是在标准上进行了进一步研发。这些现实中的例子证明,应用需求推动了编解码技术的发展。

    开放和封闭的环境

    许多流媒体应用的编解码适用于封闭的网络系统,或在终端通过硬件或软件控制的管理性连接。硬件编解码解决方案要使用HD-SDI、DVI或其他格式的电子信号接口来传输流媒体。如果使用软件解码的方式,可以在封闭的系统中安装管理插件。在这里,视音频集成商最初关注的是在编码器输入端和解码器输出端要有匹配的信号格式,还要建立并维护所需要的通信线路或网络连接。除此以外,还要评估每一个项目的编解码的质量、比特率要求和技术性能。

    开放的网络环境,如互联网甚至大型企业,会有大量的潜在终端。在每一个潜在终端都使用解码硬件是不现实的,在每个终端上都安装软件也不太可能。如果我们考虑将流媒体传送到未经管理的PC或是解码器上,那么多媒体转换成的流媒体内容应该是一段视频比特流。终端必须支持兼容视频比特流的编解码、协议或是应用程序。[page]

    计算机环境中的编解码

    专业视音频系统把以下三种不同的环境多媒体集中起来进行共同管理:1) 电信视频会议系统;2) 基于广播标准的视频;3) 来源于PC的多媒体。PC环境成为了编解码技术领域中的一个变量。

    这个环境中的标准经常会随着市场的运行和自身的优点、弱点进行改变,商业组织或商业联盟也会不断建立标准。最具实力的公司事实上就成为了标准。微软、苹果、Adobe、Google等行业巨头通过不同的产品和技术为他们的客户提供服务,作为商业组织,他们投资研发技术,设立竞争壁垒,从而实现他们的经济目的。

    在PC流媒体环境中,除了编解码之外,必须充分考虑那些变量,包括承载格式、传输方式、媒体播放器、数字版权管理、操作系统以及计算机设备。

    现在,绝大部分的在线视频使用了Adobe公司的Flash播放器。它采用专有的承载格式——Flash视频,作为插件安装在PC上,就可以通过网页浏览器观看视频。无处不在的Flash为Adobe公司的产品带来了极大的竞争力,但PC环境下众多的开发者们还是宁愿选择开源技术,而不是为了符合操作需求而使用Flash。

    就iPhone和iPod Touch上安装的苹果iOS操作系统中使用Flash播放器的问题,Adobe和Apple公司之间的公开斗争已经引起了公众的广泛关注。Adobe公司设计了一款跨平台的编程工具,并开发了将Flash应用转换为本地iPhone应用程序的软件。不过Apple公司更改了它的开发协议,使得基于Flash的应用软件失效。而Adobe又对Apple的HTTP在线流媒体增加了Flash媒体服务,并在2011年全美广播工作者联合会展上推出了这一功能,解决了Apple在自身平台上对它所作的限制。Apple和Adobe都希望通过确立自己的竞争优势而获得更大的经济利益。像这样的商业竞争给用户在软件平台、应用程序和终端设备上带来了风险。

    关于最新的网页浏览器标准HTML5中编解码的使用,去年也有大量报道。HTML5是第一个把视频像文字和图片一样内嵌到网页浏览和流程中的标准。万维网联合组织的HTML工作组可能不同意在HTML5内使用通用的编解码方式。理想情况下,工作组选择一个编解码器就可以解决所有的终端应用,但这最终没有实现。他们选择了一系列的编解码方式。最开始选用了由Xiph.Org基金会开发的Theora和Ogg技术,而且它是免版权税的。微软青睐于H.264,因为它具有强大的压缩能力。而像Mozilla和Google这些公司则由于许可证的问题不同意使用H.264。

    2010年,Google收购了开发出WebM格式的On2科技公司。这种格式采用了VP8编解码标准,Google把它用在自家的Chrome浏览器上。Mozilla选择把WebM用到Firefox中,就像他们以前在Opera中使用的那样。VP8在YouTube上也有了更多的应用。

    2010年,微软发布了支持H.264的Internet Explorer 9,以及支持Chrome上使用扩展HTML5的新版Windows媒体播放器,这样Windows 7 Chrome用户就可以观看H.264编码的内容。这意味着系统供应商可以为用户使用的浏览器提供H.264插件。同样的,Google也可以提供WebM插件。最近,也就是2011年5月,微软一直致力于推广H.264,他们还收购了使用VP8编解码的Skype。

    几乎所有传送到终端用户的数字视频都是一个端到端的解决方案。对视频分发编解码标准的关注主要集中在通过英特网、有线电视、卫星和其他物理介质进行连接的内容发展和传输上。即使视频内容的编码方式是基于标准的,也可能会采用专用的承载格式、传输协议、媒体播放器或数字版权管理计划。为了观看基于标准的视频,终端设备必须使用安装了插件的浏览器,也可以使用一个嵌入了小程序的应用程序或其他媒体辅助设备。在这里,专用化影响了PC行业,阻碍了与基于标准编解码视频之间的互通性。

    PC业巨头之间的标准之争产生了许多有趣的新闻;但是这种对竞争优势的追求阻碍了单个编解码器的使用,使网络流媒体的互通性更加复杂化。这不但显示出视频流在PC和其他设备上受欢迎程度,还揭示了竞争壁垒对未来的盈利是多么关键。

    再次讨论关于“标准”这个话题

    标准是由行业、国家或国际组织所建立的,也可以由非官方的联盟或组织建立。标准在通信技术上必须要有互通性,特别是一对多或多对多的应用中。例如以下这些标准:

    ● IEEE 100BaseT——以太网络接口标准

    ● NTSC或ATSC——视频广播标准

    ● ITU H.323——视频会议标准

    采用了这些标准的产品能够真正地实现互通性。把NTSC信号通过一个标记为NTSC的BNC插头接到显示器上,你就能得到视频图像。这同样适用于以太网通讯和H.323视频会议标准。

    编解码标准主要致力于规范数据格式和解码,在具体应用中让不同产品自己选择更有效率或更简洁的编码。标准不是要确定质量,而是促进产品之间的互通性。不过研究团队要找到“最佳解决方案”并把它定为标准。

    如前文所述,视音频行业要遵循广播电视标准,但在连接、分辨率、信号格式、数字版权管理和解密方式等方面还会用到计算机视频和消费级视频设备,这些设备可能遵循的是厂商自己的规定或是事实标准。由于这些不是“批准”的标准,所以这些接口可能不一定符合“批准”的标准所规定的规格。对于视音频厂商和集成商来说,集成这种设备是需要面对的一种持续不断的挑战。

    基于标准的编解码器因为采用的是通用技术,所以更容易降低成本。例如,使用MPEG-2和H.264编解码技术的厂商越多,竞争越激烈,就会有更多的产品面世。使用标准的广大用户一起,也会推进和完善技术性能。不过,使用标准的编解码器并不能确保产品之间的互通性。流媒体设备的处理能力、传输协议或是承载格式都有可能是专用的。产品之间的兼容性需要进行实际的审核和验证。

    在视频必须以通用格式的数字文件或比特流的形式进行传输的一对多或多对多的传输模式或制作流程应用程序中,互通性对开放的、无管理的终端是非常有用的,其结论是自然会选择一个标准。不过由于技术或性能的原因,对于具体的应用来说,只是因为它是“标准”就随意地选择一种常用的编解码器可能并不是一个最佳的选择。

    图像转换和编解码

    视频编解码主要有两种转换方式。离散余弦转换——DCT和离散小波转换——DWT。这两种转换方式把视频数据从空间域转换到频域,能够更方便地压缩图像数据。每种转换方式都有各自的优缺点。以前常用的是DCT,在开发它的时候计算机的处理能力还很有限,而DCT所消耗的处理能力极少,所以当时是最合适的。DWT已经使用在许多应用中,但随着JPEG2000压缩标准的出现会获得更广泛的使用。

    DCT在时域压缩的编解码中得到广泛应用,通过图像组 (GOP) 处理数据。这包含了在网络上的流媒体视频所使用的编解码标准,像H.264、Theora和VP8。这些编解码标准可以使高清视频的比特率低于10Mb/s甚至5Mb/s,而标清视频或更低分辨率,比如176×144的常用标准化格式(QCIF),比特率则低于1Mb/s。另一方面,DWT提供了极高的静止画面压缩效率,因此随着静止画面压缩比的增加,能够提供连续而优美的图像输出。在JPEG2000中,这对网络上的高清视频流是非常有用的,因为它能够支持100Mb/s甚至更高的比特率,同时还能保持很好的图像质量和低于100ms的编码至解码延时。

    例外情况如下:1) 4个H.264 High Profiles使用了内部压缩,可以用较低的延时提供与JPEG2000相似的画面质量;2) Dirac编解码技术,是对图像组方案上进行时域压缩,3) Extron的PURE3编解码技术,采用了DWT,却少有的能够提供时域压缩能力,在具体应用中可以把高清计算机视频的比特率从10Mb/s降低到1Mb/s。

    专用编解码器

    专用编解码器普遍用在工业和消费级应用中。推动专用编解码技术发展的情况如下:

    1、开发商或厂商发现现有标准无法满足用户的需求。就需要投资开发新的编解码器以满足相应的需求。这一情况更可能发生在封闭的应用中。

    2、一个公司拥有广大的用户群,开发自己的编解码器、承载格式或是播放软件,从而可以管理传输到终端的质量。这一情况主要存在于拥有大量用户的情况中,例如PC。

    3、开发商或厂商研发了一种编解码器,就可以用替代产品来获取竞争优势或打破竞争壁垒。

    4、公司自主开发编解码器,还可以避免专利的许可费和法律风险。

    对于企业级应用,可以考虑采用专用编解码器来管理终端。要规划系统的传输接口、终端、预算和扩展性。具体的性能和质量要求可能基于比特率,或是特定网络的纠错能力,也可能是基于支持特定的输入输出信号格式、分辨率或图像质量,还可能是基于非常低的编解码延时,例如低于100ms。

    在企业级应用中,用专用视频编解码技术设计的专有硬件设备能够提供更好的性能,因为基于标准的视频编解码器融合了众多厂商的知识产权和技术。专用的编码算法和专有硬件通常可以优化,并根据特定应用的特殊需求进行调整。基于标准的硬件和软件应用程序可以固定或预先进行配置,以传送特定的视频内容,比如在低于5Mb/s的带宽下传送娱乐节目或电信视频会议。这些低带宽解决方案在图像质量和低延时需求上可能不适合企业级应用,像远程视频分配链接、远程医疗、指挥和控制、监视或仿真环境。

    专用编解码器还可以提供更高的安全性,因为公众不太容易接触到这些技术平台。所有通信应用的安全基础都是物理安全性、可靠的通信建筑和网络策略以及加密技术。专用编解码器的使用还能够提供额外的保护,因为其他人无法轻易地访问此编解码器。

    使用开放式标准的漏洞有一个现成的例子,在2008年,伊拉克武装分子使用SkyGrabber一款公开售价26美元的卫星监视软件,拦截并监视了美国无人侦察机所拍摄的视频。而专用编解码器会大大增强武装分子这一行为的难度。

    网络和用户环境

    考虑你的流媒体产品所处的网络环境是很重要的。让我们来看一下这三种网络环境:

    ● 专用网络——专用网络的设计和配置能够支持流媒体的传送需求。它们的性能可以进行测量和管理。如果网络架构是用于共享用户数据、语音和视频,就更要注意带宽的使用。

    ● 公共网络——流媒体在互联网上传输会碰到许多的挑战,因为它是一个公共的共享网络。服务质量——QoS以及终端带宽限制了流媒体应用的类型。安全性也是一个问题。

    ● 虚拟专用网络(VPN)——VPN在连接英特网时会进行加密,因此能提供更高的安全性。

    专用的、可管理的网络上可以使用需要50Mb/s或更高带宽的编解码器。公共网络或共享专用网络通常只有较低的带宽,比特率必须低于5Mb/s,越低越好。英特网上对服务质量(QoS)的保障更少,所以可能需要设计纠错系统或传输和流媒体协议来达到可靠的性能。

    决定使用标准的还是专用的编解码器?

    前文讨论了许多问题,包括针对不同应用的各种专用和标准编解码器、开放和封闭的系统、不同的网络环境以及采用不同转换方式的编解码器的总体性能。有些流媒体应用需要向显示系统或制作系统传送电子信号,而其他应用则需要直接向开放系统中的PC或其它硬件解码器传送视频比特流。最后,PC行业受到了几个行业巨头的控制。虽然对编解码技术很不利,但我们知道:

    ● 有许多种编解码器可以使用,其中有一些针对的是特定应用和需求

    ● 某些应用需要互通性,因为要用编解码器进行传输和媒体交换,这已经被官方标准机构写入标准中

    ● 视音频应用必须要提供媒体来源的解决方案,因为它们经常不提供标准的分辨率、接口和互通性

    ● 标准的使用,可以支持在线流媒体或制作流程中的众多终端的互通性和数字媒体传输

    ● 专用的解决方案可以提供更好的性能,增强安全性

    ● 许多编解码器和专用的承载格式的插件和转换工具提供了不同解码设备之间的兼容性

    以下是选择编解码器的准则。它包括:1)用户和系统环境;2)交换格式;3)传输模式;4)终端;5)性能。这个准则不是绝对的,但它在某种程度上是选择编解码器的一个指南,可以避免简单化的思维、过度的营销宣传和行业市场的派别之争。

    最明智的做法是——保持跟进。ITU和ISO的联合视频工作组目前正在研究高效视频编码标准——HEVC来接替H.264。目标是将较低复杂性应用中的H.264的比特率降低一半。希望未来对不同的编解码器能够继续讨论、编写白皮书、进行升级。消费级和企业级流媒体应用的飞速发展和提高会带来持续的变化,并研发出新的编解码器。

流媒体编解码器

视听科技视频号 广告
发表评论