应用交付,应用交付网络,负载均衡,SSL加速,广域网优化,链路负载均衡,防火墙负载均衡
返回列表 发帖

常见的压缩算法及详解

压缩算法也就是我们常说的编码格式,或者说叫多媒体编码方式。压缩算法对图像的质量是至关重要的,在科技飞速发展的今天,认识一些算法对我们的工作生活还是有一定意义的;算法有很多,如下我选择一些常用常见的算法来给大家一一介绍。

MPEG-1压缩算法:

MPEG-1标准于1993年8月公布,用于传输1.5Mbps数据传输率的数字存储媒体运动图像及其伴音的编码。该标准从颁布的那一刻起,MPEG-1取得一连串的成功,如VCD和MP3的大量使用,Windows95以后的版本都带有一个MPEG-1软件解码器,可携式MPEG-1摄像机等等。

VCD标准是MPEG-1标准的一个子集,是MPEG-1标准中的一个特别标准;VCD分为PAL/NTSC两种标准。VCD采用的是1/4 D1的格式(PAL:352X288,NTSC:352X240),恒定码流,所以在清晰度上大打折扣,特别是在处理大运动的情景时,会出现所谓的“马赛克”现象;由于VCD先天的缺陷,于是后面又出现了S-VCD/DVD等,随着DVD播放机的普及和价格的降低(很多DVD播放机仅200多元),VCD已经开始逐步退出历史舞台。

MPEG-2压缩算法:

MPEG组织于1994年推出MPEG-2压缩标准,以实现视/音频服务与应用互操作的可能性。 MPEG-2标准是针对标准数字电视和高清晰度电视在各种应用下的压缩方案和系统层的详细规定,编码码率从每秒3兆比特~100兆比特,标准的正式规范在ISO/IEC13818中。MPEG-2不是MPEG-1的简单升级,MPEG-2在系统和传送方面作了更加详细的规定和进一步的完善。 MPEG-2特别适用于广播级的数字电视的编码和传送,被认定为SDTV和HDTV的编码标准。

MPEG-2图像压缩的原理是利用了图像中的两种特性:空间相关性和时间相关性。这两种相关性使得图像中存在大量的冗余信息。如果我们能将这些冗余信息去除,只保留少量非相关信息进行传输,就可以大大节省传输频带。而接收机利用这些非相关信息,按照一定的解码算法,可以在保证一定的图像质量的前提下恢复原始图像。一个好的压缩编码方案就是能够最大限度地去除图像中的冗余信息。<>/p

MPEG-2的编码图像被分为三类,分别称为I帧,P帧和B帧。

I帧图像采用帧内编码方式,即只利用了单帧图像内的空间相关性,而没有利用时间相关性。P帧和B帧图像采用帧间编码方式,即同时利用了空间和时间上的相关性。P帧图像只采用前向时间预测,可以提高压缩效率和图像质量。P帧图像中可以包含帧内编码的部分,即P帧中的每一个宏块可以是前向预测,也可以是帧内编码。B帧图像采用双向时间预测,可以大大提高压缩倍数。

MPEG-2的编码码流分为六个层次。为更好地表示编码数据,MPEG-2用句法规定了一个层次性结构。它分为六层,自上到下分别是:图像序列层、图像组(GOP)、图像、宏块条、宏块、块。

MPEG-2标准在广播电视领域中的主要应用如下:

(1)视音频资料的保存

一直以来,电视节目、音像资料等都是用磁带保存的。这种方式有很多弊端:易损,占地大,成本高,难于重新使用。更重要的是难以长期保存,难以查找、难以共享。随着计算机技术和视频压缩技术的发展,高速宽带计算机网络以及大容量数据存储系统给电视台节目的网络化存储、查询、共享、交流提供了可能。

采用MPEG-2压缩编码的DVD视盘,给资料保存带来了新的希望。电视节目、音像资料等可通过MPEG-2编码系统编码,保存到低成本的CD-R光盘或高容量的可擦写DVD-RAM上,也可利用DVD编著软件(如Daikin Scenarist NT、Spruce DVDMaestro等)制作成标准的DVD视盘,既可节约开支,也可节省存放空间。

(2)电视节目的非线性编辑系统及其网络

在非线性编辑系统中,节目素材是以数字压缩方式存储、制作和播出的, 视频压缩技术是非线性编辑系统的技术基础。目前主要有M-JPEG和MPEG-2两种数字压缩格式。

M-JPEG技术即运动静止图像(或逐帧)压缩技术,可进行精确到帧的编辑,但压缩效率不高。

MPEG-2采用帧间压缩的方式,只需进行I帧的帧内压缩处理,B帧和P帧通过侦测获得,因此,传输和运算的数据大多由帧之间的时间相关性得到,相对来说,数据量小,可以实现较高的压缩比。随着逐帧编辑问题的解决,MPEG-2将广泛应用于非线性编辑系统,并大大地降低编辑成本,同时MPEG-2的解压缩是标准的,不同厂家设计的压缩器件压缩的数据可由其他厂家设计解压缩器来解压缩,这一点保证了各厂家的设备之间能完全兼容。

由于采用MPEG-2 IBP视频压缩技术,数据量成倍减少,降低了存储成本,提高了数据传输速度,减少了对计算机总线和网络带宽的压力,可采用纯以太网组建非线性编辑网络系统已成为可能,而在目前以太网是最为成熟的网络,系统管理比较完善,价格也比较低廉。

基于MPEG-2的非线性编辑系统及非线性编辑网络将成为未来的发展方向。

(3)卫星传输

MPEG-2已经通过ISO认可,并在广播领域获得广泛的应用,如数字卫星视频广播 (DVB-S)、DVD视盘和视频会议等。目前,全球有数以千万计的DVB-S用户,DVB-S信号采用MPEG-2压缩格式编码,通过卫星或微波进行传输,在用户端经MPEG-2卫星接收解码器解码,以供用户观看。此外,采用MPEG-2压缩编码技术,还可以进行远程电视新闻或节目的传输和交流。

(4)电视节目的播出

在整个电视技术中播出是一个承上启下的环节,对播出系统进行数字化改造是非常必要的,其中最关键一步就是构建硬盘播出系统。MPEG-2硬盘自动播出系统因编播简便、储存容量大、视频指标高等优点,而为人们所青睐。但以往MPEG-2 播出设备因非常昂贵,而只有少量使用。随着MPEG-2技术的发展和相关产品成本的下降,MPEG-2硬盘自动系统播出可望得到普及。

综述:MPEG-2作为一款非常成熟的视频压缩算法,已经在业界被广泛应用,DVD格式就是MPEG-2算法中比较特殊一种。高解析度(Full D1)、高码流(10M以上)的DVD已经逐步逼近了高清的效果;但MPEG-2压缩算法也不是十全十美的,它保证了清晰度的同时,也牺牲了文件的体积,所以目前高解析度高码流的MPEG-2的视频应用还主要应用在专业的领域,比如电视台。想要进入民用这块大市场,不解决体积的问题是很难进入的,于是一些其他的优秀算法更是脱颖而出,比如MPEG-4/H.263/H.264等。

MPEG-4压缩算法:


运动图像专家组MPEG 于1999年2月正式公布了MPEG-4(ISO/IEC14496)标准第一版本。同年年底MPEG-4第二版亦告底定,且于2000年年初正式成为国际标准。

MPEG-4与MPEG-1和MPEG-2有很大的不同。MPEG-4不只是具体压缩算法,它是针对数字电视、交互式绘图应用(影音合成内容)、交互式多媒体(WWW、资料撷取与分散)等整合及压缩技术的需求而制定的国际标准。MPEG -4标准将众多的多媒体应用集成于一个完整的框架内,旨在为多媒体通信及应用环境提供标准的算法及工具,从而建立起一种能被多媒体传输、存储、检索等应用领域普遍采用的统一数据格式。

MPEG-4的编码理念是:MPEG-4标准同以前标准的最显著的差别在于它是采用基于对象的编码理念,即在编码时将一幅景物分成若干在时间和空间上相互联系的视频音频对象,分别编码后,再经过复用传输到接收端,然后再对不同的对象分别解码,从而组合成所需要的视频和音频。这样既方便我们对不同的对象采用不同的编码方法和表示方法,又有利于不同数据类型间的融合,并且这样也可以方便的实现对于各种对象的操作及编辑。例如,我们可以将一个卡通人物放在真实的场景中,或者将真人置于一个虚拟的演播室里,还可以在互联网上方便的实现交互,根据自己的需要有选择的组合各种视频音频以及图形文本对象。

MPEG-4系统的一般框架是:对自然或合成的视听内容的表示;对视听内容数据流的管理,如多点、同步、缓冲管理等;对灵活性的支持和对系统不同部分的配置。

与MPEG-1、MPEG-2相比,MPEG-4具有如下独特的优点:

(1) 基于内容的交互性

MPEG-4提供了基于内容的多媒体数据访问工具,如索引、超级链接、上下载、删除等。利用这些工具,用户可以方便地从多媒体数据库中有选择地获取自己所需的与对象有关的内容,并提供了内容的操作和位流编辑功能,可应用于交互式家庭购物,淡入淡出的数字化效果等。MPEG-4提供了高效的自然或合成的多媒体数据编码方法。它可以把自然场景或对象组合起来成为合成的多媒体数据。

(2)高效的压缩性

MPEG-4基于更高的编码效率。同已有的或即将形成的其它标准相比,在相同的比特率下,它基于更高的视觉听觉质量,这就使得在低带宽的信道上传送视频、音频成为可能。同时MPEG-4还能对同时发生的数据流进行编码。一个场景的多视角或多声道数据流可以高效、同步地合成为最终数据流。这可用于虚拟三维游戏、三维电影、飞行仿真练习等

(3)通用的访问性

MPEG-4提供了易出错环境的鲁棒性,来保证其在许多无线和有线网络以及存储介质中的应用,此外,MPEG-4还支持基于内容的的可分级性,即把内容、质量、复杂性分成许多小块来满足不同用户的不同需求,支持具有不同带宽,不同存储容量的传输信道和接收端。

这些特点无疑会加速多媒体应用的发展,从中受益的应用领域有:因特网多媒体应用;广播电视;交互式视频游戏;实时可视通信;交互式存储媒体应用;演播室技术及电视后期制作;采用面部动画技术的虚拟会议;多媒体邮件;移动通信条件下的多媒体应用;远程视频监控;通过ATM网络等进行的远程数据库业务等。MPEG-4主要应用如下:

(1)应用于因特网视音频广播

由于上网人数与日俱增,传统电视广播的观众逐渐减少,随之而来的便是广告收入的减少,所以现在的固定式电视广播最终将转向基于TCP/IP的因特网广播,观众的收看方式也由简单的遥控器选择频道转为网上视频点播。视频点播的概念不是先把节目下载到硬盘,然后再播放,而是流媒体视频(streaming video),点击即观看,边传输边播放。

现在因特网中播放视音频的有:Real Networks公司的 Real Media,微软公司的 Windows Media,苹果公司的 QuickTime,它们定义的视音频格式互不兼容,有可能导致媒体流中难以控制的混乱,而MPEG-4为因特网视频应用提供了一系列的标准工具,使视音频码流具有规范一致性。因此在因特网播放视音频采用MPEG-4,应该说是一个安全的选择。

(2)应用于无线通信

MPEG-4高效的码率压缩,交互和分级特性尤其适合于在窄带移动网上实现多媒体通信,未来的手机将变成多媒体移动接收机,不仅可以打移动电视电话、移动上网,还可以移动接收多媒体广播和收看电视。

(3)应用于静止图像压缩

静止图像(图片)在因特网中大量使用,现在网上的图片压缩多采用JPEG技术。 MPEG-4中的静止图像(纹理)压缩是基于小波变换的,在同样质量条件下,压缩后的文件大小约是JPEG压缩文件的十分之一。把因特网上使用的JPEG 图片转换成MPEG-4格式,可以大幅度提高图片在网络中的传输速度。

(4)应用于电视电话

传统用于窄带电视电话业务的压缩编码标准,如H261,采用帧内压缩、帧间压缩、减少象素和抽帧等办法来降低码率,但编码效率和图像质量都难以令人满意。MPEG-4的压缩编码可以做到以极低码率传送质量可以接受的声像信号,使电视电话业务可以在窄带的公用电话网上实现。

(5)应用于计算机图形、动画与仿真

MPEG-4特殊的编码方式和强大的交互能力,使得基于MPEG-4的计算机图形和动画可以从各种来源的多媒体数据库中获取素材,并实时组合出所需要的结果。因而未来的计算机图形可以在MPEG-4语法所允许的范围内向所希望的方向无限发展,产生出今天无法想象的动画及仿真效果。

(6)应用于电子游戏

MPEG-4可以进行自然图像与声音同人工合成的图像与声音的混合编码,在编码方式上具有前所未有的灵活性,并且能及时从各种来源的多媒体数据库中调用素材。这可以在将来产生象电影一样的电子游戏,实现极高自由度的交互式操作。

M-JPEG压缩算法:

M-JPEG(Motion- Join Photographic Experts Group)技术即运动静止图像(或逐帧)压缩技术,广泛应用于非线性编辑领域可精确到帧编辑和多层图像处理,把运动的视频序列作为连续的静止图像来处理,这种压缩方式单独完整地压缩每一帧,在编辑过程中可随机存储每一帧,可进行精确到帧的编辑,此外M-JPEG的压缩和解压缩是对称的,可由相同的硬件和软件实现。但M-JPEG只对帧内的空间冗余进行压缩。不对帧间的时间冗余进行压缩,故压缩效率不高。采用M-JPEG数字压缩格式,当压缩比7:1 时,可提供相当于Betecam SP质量图像的节目。


JPEG标准所根据的算法是基于DCT(离散余弦变换)和可变长编码。JPEG的关键技术有变换编码、量化、差分编码、运动补偿、霍夫曼编码和游程编码等

M-JPEG的优点是:可以很容易做到精确到帧的编辑、设备比较成熟。缺点是压缩效率不高。

此外,M-JPEG这种压缩方式并不是一个完全统一的压缩标准,不同厂家的编解码器和存储方式并没有统一的规定格式。这也就是说,每个型号的视频服务器或编码板有自己的M-JPEG版本,所以在服务器之间的数据传输、非线性制作网络向服务器的数据传输都根本是不可能的。

综述:M-JPEG由于未进行帧间压缩,故具有优秀的可编辑性,而且可以最大限度的保证视频源的质量,所以在早期的模拟压缩算法中,M-JPEG占有很大的市场;时至今日,M-JPEG在很多领域,也有很广泛的应用;但由于其压缩率不高,体积很大,随着CPU速度的提升,它被其他优秀的算法替代已成为了必然。

H.261、H.263压缩算法:

H.261

H.261又称为P*64,其中P为64kb/s的取值范围,是1到30的可变参数,它最初是针对在ISDN上实现电信会议应用特别是面对面的可视电话和视频会议而设计的。实际的编码算法类似于MPEG算法,但不能与后者兼容。H.261在实时编码时比MPEG所占用的CPU运算量少得多,此算法为了优化带宽占用量,引进了在图像质量与运动幅度之间的平衡折中机制,也就是说,剧烈运动的图像比相对静止的图像质量要差。因此这种方法是属于恒定码流可变质量编码而非恒定质量可变码流编码。

H.263


H.263是国际电联ITU-T的一个标准草案,是为低码流通信而设计的。但实际上这个标准可用在很宽的码流范围,而非只用于低码流应用,它在许多应用中可以认为被用于取代H.261。H.263的编码算法与H.261一样,但做了一些改善和改变,以提高性能和纠错能力。

H.263标准在低码率下能够提供比H.261更好的图像效果,两者的区别有:

(1)H.263的运动补偿使用半象素精度,而H.261则用全象素精度和循环滤波;

(2)数据流层次结构的某些部分在H.263中是可选的,使得编解码可以配置成更低的数据率或更好的纠错能力;

(3)H.263包含四个可协商的选项以改善性能;

(4)H.263采用无限制的运动向量以及基于语法的算术编码;

(5)采用事先预测和与 MPEG中的P-B帧一样的帧预测方法;

(6)H.263支持5种分辨率,即除了支持H.261中所支持的QCIF和CIF外,还支持SQCIF、 4CIF和16CIF,SQCIF相当于QCIF一半的分辨率,而4CIF和16CIF分别为CIF的4倍和16倍。

1998年IUT-T推出的H.263+是H.263建议的第2版,它提供了12个新的可协商模式和其他特征,进一步提高了压缩编码性能。如H.263只有5种视频源格式,H.263+允许使用更多的源格式,图像时钟频率也有多种选择,拓宽应用范围;另一重要的改进是可扩展性,它允许多显示率、多速率及多分辨率,增强了视频信息在易误码、易丢包异构网络环境下的传输。另外,H.263+对H.263中的不受限运动矢量模式进行了改进,加上12个新增的可选模式,不仅提高了编码性能,而且增强了应用的灵活性。H.263已经基本上取代了 H.261。

综述:H.261、H.263算法主要是为了控制压缩文件体积,应用于网络流媒体而产生的,虽然解决了体积的问题,但在图像质量上面却大打折扣,随着网速的日益提升,这种低解析度的算法已经不能被人们所接受了,于是推出了解析度更高更新更好的算法,如H.264。

H.264、AVC、MPEG-4.10压缩算法:

H.264、AVC 、MPEG-4.10等压缩算法,说起来其实是一种,只是叫法不同而已,为了统一起见,我们还是以国际上惯用的叫法,称之为“H.264”。

H.264标准是由ITU-T和ISO/IEC联合开发的,定位于覆盖整个视频应用领域,包括:低码率的无线应用、标准清晰度和高清晰度的电视广播应用、Internet上的视频流应用,传输高清晰度的DVD视频以及应用于数码相机的高质量视频应用等等。

ITU-T给这个标准命名为H.264(以前叫做H.26L),而ISO/IEC称它为MPEG-4 高级视频编码(Advanced Video Coding,AVC),简称:MPEG-4 AVC,并且它将成为MPEG-4标准的第10部分,故有人也称之为:MPEG-4.10 。既然AVC是当前MPEG-4标准的拓展,那么它必然将受益于MPEG-4开发良好的基础结构(比如系统分层和音频等)。很明显,作为MPEG-4高级简洁框架(Advanced Simple Profile,ASP)的MPEG-4 AVC将会优于当前的MPEG-4视频压缩标准,它将主要应用在具有高压缩率和分层次质量需求的方向。

H.264最具价值的部分无疑是更高的数据压缩比。压缩技术的基本原理就是将视频文件中的非重要信息过滤,以便让数据能够更快地在网络中传输。在同等的图像质量条件下,H.264的数据压缩比能比当前DVD系统中使用的MPEG-2高2-3倍,比MPEG-4高1.5-2倍。正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。

在MPEG-4需要6Mbps的传输速率匹配时,H.264只需要3Mbps-4Mbps的传输速率。我们用交通运输来做更加形象的比喻:同样是用一辆卡车运输一个大箱子,假如MPEG-4能把箱子减重一半,那么H.264能把箱子减重为原来的1/4,在卡车载重量不变的情况下,H.264比MPEG-2让卡车的载货量增加了二倍。

H.264获得优越性能的代价是计算复杂度的大幅增加,例如分层设计、多帧参论、多模式运动估计、改进的帧内预测等,这些都显著提高了预测精度,从而获得比其他标准好得多的压缩性能。

不断提高的硬件处理能力和不断优化的软件算法是H.264得以风行的生存基础。早在十年前,主频为几十兆的CPU就达到了顶级,而如今普通的台式机,CPU的主频已经高达几千兆。按照摩尔定律的说法,芯片单位面积的容量每18个月翻一番,因此H.264所增加的运算复杂度相对于性能提升效果而言微不足道。更何况新的计算方法层出不穷,也相对缓解H.264对处理速度的饥渴需求。

综述:H.264最为一种当前最优秀的算法,已经得到市场的认可,随着电脑速度的提升,H.264的优势将更加明显,它是MPEG-4 算法的补充,或者可以认为是MPEG-4算法的升级版,常见的WMV9/WMV10以及RMVB等格式,都可以认为是一种特殊的H.264算法;他们都是一种高清的格式,而我们熟悉的MPEG2也就是最常用的DVD视频编码技术已经比较落后了,笔者预言,H.264最终将取代MPEG-2。可以举一个例子让大家从数据上直接做比较:

对于我们最希望看到的HDTV的节目如果播放时间在2小时左右的话,使用MPEG2最小只能压缩至30GB,而使用H.264、WMV9这样的高压缩率编解码器,在画质丝毫不降的前提下可压缩到15GB以下。

路过,又加深了了解,顶一下,积累点积分!

TOP

返回列表