求JPEG格式的详细介绍。以及JPEG图像DC系数提取的C语言实现代码

求JPEG格式的详细介绍。以及JPEG图像DC系数提取的C语言实现代码,第1张

JPEG格式

JPEG也是常见的一种图像格式,它由联合照片专家组(Joint Photographic Experts Group)开发并以命名为%26quotISO 10918-1%26quot,JPEG仅仅是一种俗称而已。JPEG文件的扩展名为.jpg或.jpeg,其压缩技术十分先进,它用有损压缩方式去除冗余的图像和彩色数据,获取得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像质量。

同时JPEG还是一种很灵活的格式,具有调节图像质量的功能,允许你用不同的压缩比例对这种文件压缩,比如我们最高可以把1.37MB的BMP位图文件压缩至20.3KB。当然我们完全可以在图像质量和文件尺寸之间找到平衡点。

由于JPEG优异的品质和杰出的表现,它的应用也非常广泛,特别是在网络和光盘读物上,肯定都能找到它的影子。目前各类浏览器均支持JPEG这种图像格式,因为JPEG格式的文件尺寸较小,下载速度快,使得Web页有可能以较短的下载时间提供大量美观的图像,JPEG同时也就顺理成章地成为网络上最受欢迎的图像格式。

四、JPEG2000格式

JPEG 2000同样是由JPEG 组织负责制定的,它有一个正式名称叫做%26quotISO 15444%26quot,与JPEG相比,它具备更高压缩率以及更多新功能的新一代静态影像压缩技术。

JPEG2000 作为JPEG的升级版,其压缩率比JPEG高约30%左右。与JPEG不同的是,JPEG2000 同时支持有损和无损压缩,而 JPEG 只能支持有损压缩。无损压缩对保存一些重要图片是十分有用的。JPEG2000的一个极其重要的特征在于它能实现渐进传输,这一点与GIF的%26quot渐显%26quot有异曲同工之妙,即先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图象由朦胧到清晰显示,而不必是像现在的 JPEG 一样,由上到下慢慢显示。

此外,JPEG2000还支持所谓的%26quot感兴趣区域%26quot特性,你可以任意指定影像上你感兴趣区域的压缩质量,还可以选择指定的部份先解压缩。 JPEG 2000 和 JPEG 相比优势明显,且向下兼容,因此取代传统的JPEG格式指日可待。

JPEG2000可应用于传统的JPEG市场,如扫描仪、数码相机等,亦可应用于新兴领域,如网路传输、无线通讯等等。

-------

JPEG(Joint Photographic Experts Group) 是一个由 ISO和IEC两个组织机构联合组成的一个专家组,负责制定静态的数字图像数据压缩编码标准,这个专家组开发的算法称为JPEG算法,并且成为国际上通用的标准,因此又称为JPEG标准。JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。

JPEG专家组开发了两种基本的压缩算法,一种是采用以离散余弦变换(Discrete Cosine Transform,DCT)为基础的有损压缩算法,另一种是采用以预测技术为基础的无损压缩算法。使用有损压缩算法时,在压缩比为25:1的情况下,压缩后还原得到的图像与原始图像相比较,非图像专家难于找出它们之间的区别,因此得到了广泛的应用。例如,在V-CD和DVD-Video电视图像压缩技术中,就使用JPEG的有损压缩算法来取消空间方向上的冗余数据。为了在保证图像质量的前提下进一步提高压缩比,近年来JPEG专家组正在制定JPEG 2000(简称JP 2000)标准,这个标准中将采用小波变换(wavelet)算法。

JPEG压缩是有损压缩,它利用了人的视角系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。压缩编码大致分成三个步骤:

1.使用正向离散余弦变换(forward discrete cosine transform,FDCT)把空间域表示的图变换成频率域表示的图。

2.使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的。

3.使用霍夫曼可变字长编码器对量化系数进行编码。

译码或者叫做解压缩的过程与压缩编码过程正好相反。

JPEG算法与彩色空间无关,因此“RGB到YUV变换”和“YUV到RGB变换”不包含在JPEG算法中。JPEG算法处理的彩色图像是单独的彩色分量图像,因此它可以压缩来自不同彩色空间的数据,如RGB, YCbCr和CMYK。

JPEG压缩编码算法的主要计算步骤如下:

1.正向离散余弦变换(FDCT)。

2.量化(quantization)。

3.Z字形编码(zigzag scan)。

4.使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码。

5.使用行程长度编码(run-length encoding,RLE)对交流系数(AC)进行编码。

6.熵编码(entropy coding)。

2. 量化

量化是对经过FDCT变换后的频率系数进行量化。量化的目的是减小非“0”系数的幅度以及增加“0”值系数的数目。量化是图像质量下降的最主要原因。

对于有损压缩算法,JPEG算法使用均匀量化器进行量化,量化步距是按照系数所在的位置和每种颜色分量的色调值来确定。因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表:亮度量化值和色差量化值。此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此图中的左上角的量化步距要比右下角的量化步距小。

3. Z字形编排

量化后的系数要重新编排,目的是为了增加连续的“0”系数的个数,就是“0”的游程长度,方法是按照Z字形的式样编排,如图5-17所示。这样就把一个8 ? 8的矩阵变成一个1 ? 64的矢量,频率较低的系数放在矢量的顶部。

4. 直流系数的编码

8 ? 8图像块经过DCT变换之后得到的DC直流系数有两个特点,一是系数的数值比较大,二是相邻8 ? 8图像块的DC系数值变化不大。根据这个特点,JPEG算法使用了差分脉冲调制编码(DPCM)技术,对相邻图像块之间量化DC系数的差值(Delta)进行编码,

Delta=DC(0, 0)k-DC(0, 0)k-1 ........ (5-5)

5. 交流系数的编码

量化AC系数的特点是1 ? 64矢量中包含有许多“0”系数,并且许多“0”是连续的,因此使用非常简单和直观的游程长度编码(RLE)对它们进行编码。

JPEG使用了1个字节的高4位来表示连续“0”的个数,而使用它的低4位来表示编码下一个非“0”系数所需要的位数,跟在它后面的是量化AC系数的数值。

6. 熵编码

使用熵编码还可以对DPCM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩。

在JPEG有损压缩算法中,使用霍夫曼编码器来减少熵。使用霍夫曼编码器的理由是可以使用很简单的查表(lookup table)方法进行编码。压缩数据符号时,霍夫曼编码器对出现频度比较高的符号分配比较短的代码,而对出现频度较低的符号分配比较长的代码。这种可变长度的霍夫曼码表可以事先进行定义。

(一)、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版本,所以在服务器之间的数据传输、非线性制作网络向服务器的数据传输都根本是不可能的。

(二)、MPEG系列标准

MPEG是活动图像专家组(Moving Picture Exports Group)的缩写,于1988年成立,是为数字视/音频制定压缩标准的专家组,目前已拥有300多名成员,包括IBM、SUN、BBC、NEC、INTEL、AT&T等世界知名公司。MPEG组织最初得到的授权是制定用于“活动图像”编码的各种标准,随后扩充为“及其伴随的音频”及其组合编码。后来针对不同的应用需求,解除了“用于数字存储媒体”的限制,成为现在制定“活动图像和音频编码”标准的组织。MPEG组织制定的各个标准都有不同的目标和应用,目前已提出MPEG-1、MPEG-2、MPEG-4、MPEG-7和MPEG-21标准。

1.MPEG-1标准

MPEG-1标准于1993年8月公布,用于传输1.5Mbps数据传输率的数字存储媒体运动图像及其伴音的编码。该标准包括五个部分:

第一部分说明了如何根据第二部分(视频)以及第三部分(音频)的规定,对音频和视频进行复合编码。第四部分说明了检验解码器或编码器的输出比特流符合前三部分规定的过程。第五部分是一个用完整的C语言实现的编码和解码器。

该标准从颁布的那一刻起,MPEG-1取得一连串的成功,如VCD和MP3的大量使用,Windows95以后的版本都带有一个MPEG-1软件解码器,可携式MPEG-1摄像机等等。

2.MPEG-2标准

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

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

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硬盘自动系统播出可望得到普及。

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

(三)H.264

H.264是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)的联合视频组(JVT:joint video team)开发的一个新的数字视频编码标准,它既是ITU-T的H.264,又是ISO/IEC的MPEG-4的第10 部分。1998年1月份开始草案征集,1999年9月,完成第一个草案,2001年5月制定了其测试模式TML-8,2002年6月的 JVT第5次会议通过了H.264的FCD板。2003年3月正式发布。

H.264和以前的标准一样,也是DPCM加变换编码的混合编码模式。但它采用回归基本的简洁设计,不用众多的选项,获得比H.263++好得多的压缩性能;加强了对各种信道的适应能力,采用网络友好的结构和语法,有利于对误码和丢包的处理;应用目标范围较宽,以满足不同速率、不同解析度以及不同传输(存储)场合的需求;它的基本系统是开放的,使用无需版权。

在技术上,H.264标准中有多个闪光之处,如统一的VLC符号编码,高精度、多模式的位移估计,基于4×4块的整数变换、分层的编码语法等。这些措施使得H.264算法具有很的高编码效率,在相同的重建图像质量下,能够比H.263节约50%左右的码率。H.264的码流结构网络适应性强,增加了差错恢复能力,能够很好地适应IP和无线网络的应用。 H.264的算法在概念上可以分为两层:视频编码层(VCL:Video Coding Layer)负责高效的视频内容表示,网络提取层(NAL:Network Abstraction Layer)负责以网络所要求的恰当的方式对数据进行打包和传送。在VCL和NAL之间定义了一个基于分组方式的接口,打包和相应的信令属于NAL的一部分。这样,高编码效率和网络友好性的任务分别由VCL和NAL来完成。

VCL层包括基于块的运动补偿混合编码和一些新特性。与前面的视频编码标准一样,H.264没有把前处理和后处理等功能包括在草案中,这样可以增加标准的灵活性。

NAL负责使用下层网络的分段格式来封装数据,包括组帧、逻辑信道的信令、定时信息的利用或序列结束信号等。例如,NAL支持视频在电路交换信道上的传输格式,支持视频在Internet上利用RTP/UDP/IP传输的格式。NAL包括自己的头部信息、段结构信息和实际载荷信息,即上层的VCL数据。(如果采用数据分割技术,数据可能由几个部分组成)。 H.264支持1/4或1/8像素精度的运动矢量。在1/4像素精度时可使用6抽头滤波器来减少高频噪声,对于1/8像素精度的运动矢量,可使用更为复杂的8抽头的滤波器。在进行运动估计时,编码器还可选择增强内插滤波器来提高预测的效果。

在H.264的运动预测中,一个宏块(MB)可以按图2被分为不同的子块,形成7种不同模式的块尺寸。这种多模式的灵活和细致的划分,更切合图像中实际运动物体的形状,大大提高了运动估计的精确程度。在这种方式下,在每个宏块中可以包含有1、2、4、8或16个运动矢量。

在H.264中,允许编码器使用多于一帧的先前帧用于运动估计,这就是所谓的多帧参考技术。例如2帧或3帧刚刚编码好的参考帧,编码器将选择对每个目标宏块能给出更好的预测帧,并为每一宏块指示是哪一帧被用于预测。 H.264与先前的标准相似,对残差采用基于块的变换编码,但变换是整数 *** 作而不是实数运算,其过程和DCT基本相似。这种方法的优点在于:在编码器中和解码器中允许精度相同的变换和反变换,便于使用简单的定点运算方式。也就是说,这里没有反变换误差。 变换的单位是4×4块,而不是以往常用的8×8块。由于用于变换块的尺寸缩小,运动物体的划分更精确,这样,不但变换计算量比较小,而且在运动物体边缘处的衔接误差也大为减小。为了使小尺寸块的变换方式对图像中较大面积的平滑区域不产生块之间的灰度差异,可对帧内宏块亮度数据的16个4×4块的DC系数(每个小块一个,共16个)进行第二次4×4块的变换,对色度数据的4个4×4块的DC系数(每个小块一个,共4个)进行2×2块的变换。

H.264为了提高码率控制的能力,量化步长的变化的幅度控制在12.5%左右,而不是以不变的增幅变化。变换系数幅度的归一化被放在反量化过程中处理以减少计算的复杂性。为了强调彩色的逼真性,对色度系数采用了较小量化步长。 在先前的H.26x系列和MPEG-x系列标准中,都是采用的帧间预测的方式。在H.264中,当编码Intra图像时可用帧内预测。对于每个4×4块(除了边缘块特别处置以外),每个像素都可用17个最接近的先前已编码的像素的不同加权和(有的权值可为0)来预测,即此像素所在块的左上角的17个像素。显然,这种帧内预测不是在时间上,而是在空间域上进行的预测编码算法,可以除去相邻块之间的空间冗余度,取得更为有效的压缩。

如图4所示,4×4方块中a、b、...、p为16 个待预测的像素点,而A、B、...、P是已编码的像素。如m点的值可以由(J+2K+L+2)/ 4 式来预测,也可以由(A+B+C+D+I+J+K+L)/ 8 式来预测,等等。按照所选取的预测参考的点不同,亮度共有9类不同的模式,但色度的帧内预测只有4类模式。 H.264 草案中包含了用于差错消除的工具,便于压缩视频在误码、丢包多发环境中传输,如移动信道或IP信道中传输的健壮性。

为了抵御传输差错,H.264视频流中的时间同步可以通过采用帧内图像刷新来完成,空间同步由条结构编码(slice structured coding)来支持。同时为了便于误码以后的再同步,在一幅图像的视频数据中还提供了一定的重同步点。另外,帧内宏块刷新和多参考宏块允许编码器在决定宏块模式的时候不仅可以考虑编码效率,还可以考虑传输信道的特性。

除了利用量化步长的改变来适应信道码率外,在H.264中,还常利用数据分割的方法来应对信道码率的变化。从总体上说,数据分割的概念就是在编码器中生成具有不同优先级的视频数据以支持网络中的服务质量QoS。例如采用基于语法的数据分割(syntax-based data partitioning)方法,将每帧数据的按其重要性分为几部分,这样允许在缓冲区溢出时丢弃不太重要的信息。还可以采用类似的时间数据分割(temporal data partitioning)方法,通过在P帧和B帧中使用多个参考帧来完成。

在无线通信的应用中,我们可以通过改变每一帧的量化精度或空间/时间分辨率来支持无线信道的大比特率变化。可是,在多播的情况下,要求编码器对变化的各种比特率进行响应是不可能的。因此,不同于MPEG-4中采用的精细分级编码FGS(Fine Granular Scalability)的方法(效率比较低),H.264采用流切换的SP帧来代替分级编码。

四、H.264的性能比较

TML-8为H.264的测试模式,用它来对H.264的视频编码效率进行比较和测试。测试结果所提供的PSNR已清楚地表明,相对于MPEG-4(ASP:Advanced Simple Profile)和H.263++(HLP:High Latency Profile)的性能,H.264的结果具有明显的优越性。

H.264的PSNR比MPEG-4(ASP)和H.263++(HLP)明显要好,在6种速率的对比测试中,H.264的PSNR比MPEG-4(ASP)平均要高2dB,比H.263(HLP)平均要高3dB。6个测试速率及其相关的条件分别为:32 kbit/s速率、10f/s帧率和QCIF格式;64 kbit/s速率、15f/s帧率和QCIF格式;128kbit/s速率、15f/s帧率和CIF格式;256kbit/s速率、15f/s帧率和QCIF格式;512 kbit/s速率、30f/s帧率和CIF格式;1024 kbit/s速率、30f/s帧率和CIF格式。

首先,传输数字图像所需的带宽远窄于未压缩图像。例如,ntsc图像以大约640 x 480的分辨率,24bits/象素,每秒30帧的质量传输时,其数据率达28m字节/秒或221m位/秒。此外,ntsc声音信号还要使未压缩图像的比特率再增加一些。然而单速cd-rom(1x)驱动器只能以1.2m位/秒的速率传输数据。

第二个原因是以28m字节/秒的速率,15秒的未压缩图像将占用420m字节的内存空间,这对于大多数只能处理小图像片断的台式计算机来说都是不可接受的。

当今把图像加入电子信号的关键问题是压缩方式。有几种不同的压缩方式,但mpeg是最有市场潜力的压缩方式

mpeg的历史和优点

mpeg(即moving picture experts group运动图像专家小组)是个国际标准,即所谓iso11172。它的两个标准—mpeg-1和mpeg-2特别重要。mpeg-1于 1991年引入,用于加速cd-rom中图像的传输。它的目的是把221mbit/秒的ntsc图像压缩到1.2mbit/秒,压缩率为200:1。这是图像压缩的工业认可标准。

mpeg-2用于宽带传输的图像,图像质量达到电视广播甚至hdtv的标准。和mpeg-1相比,mpeg-2支持更广的分辨率和比特率范围,将成为数字图像盘(dvd)和数字广播电视的压缩方式。这些市场将和计算机市场交织在一起,从而使mpeg-2成为计算机的一种重要的图像压缩标准。这一点非常重要,因为将mpeg-1的比特流解压缩时需要用到mpeg-2的解压缩器。另一标准——mpeg-4——正在发展中,它将支持非常低的比特率的数据流的应用,如电视电话,视频邮件和电子报刊等。

对mpeg的广泛接受意味着对它的使用者的投资保护。许多零售商出售mpeg的软件或硬件播放器,这种竞争造成了价格的下降和质量的上升。mpeg-1可以和mpeg-2兼容,因此它是一种尚有发展余地的标准。

MPEG视频压缩算法的基本原理

一般说来,在帧内以及帧与帧之间,众多的视频序列均包含很 大的统计冗余度和主观冗余度。视频源码的最终目标是:通过挖掘 统计冗余度和主观冗余度,来降低存储和传送视频信息所需的比特 率;并采用嫡编码技术,以便编制出“最小信息组”一个实用的 编码方案,是在编码特性(具有足够质量的高压缩)与实施复杂性 之间的一种折衷。对于MPEG压缩算法的开发来讲,计及到这些标 准的寿命周期应考虑到现代超大规模集成电路技术的能力,这一点 是最重要的。 根据应用的要求,我们也许会想到视频数据的“无损失”编码 和“有损失”编码“无损失”编码的目的在于:在保持原图像质 量(即解码后的图像质量等同于编码前的图像质量)情况下,来减 少需要存储和传送的图像或视频数据。与此相反,“有损失”编码 技术(该技术跟MPEG—l和MPEG2视频标准未来的应用有关) 的目的是,去符合给定的存储和传送比特串。重要的一些应用包 括;利用限定的带宽或很窄的带宽,通过通信频道采传送视频信 息;有效地存储视频信息。在这些应用中,高的视频压缩是以降低 视频质量的办法来实施的,即跟编码以前的原始图像相比,解码后 的图像“客观”质量有所降低(也就是取原始图像和再现图像之间 的均方差,作为评定客观图像质量的标准)频道的目标比特率越低;那么视频所必须进行的压缩率就越大,通常可察觉的编码人工 产物也越多。有损失编码技术的最终目的是:在指定的目标比特串 条件下,获取最佳的图像标准。这里应服从“客观”或“主观”上 的最佳标准。这里应该指出,图像的降级程度(指客观降低以及可 察觉到的人工产物的数量)取决于压缩技术的复杂性——对于结构 简单的画面和视频活动少的图像来讲,就是采用简单的压缩技术, 也许能获得根本不带可察觉人工产物的良好的再现图像

(A)MPEG视频编码器源模式

MPEG数字视频编码技术实质上是一种统计方法。在时间和空 间方向上,视频列通常包含统计冗余度。MPEG压缩技术所依赖的 基本统计特性为像素之间(interpel)的相关性,这里包含这样一个 设想:即在各连续帧之间存在简单的相关性平移运动。这里假定: 一个特殊画面上的像素量值,可以(采用帧内编码技术)根据同帧 附近像素来加以预测,或者可以(采用帧间技术)根据附件帧中的 像素来加以预测。直觉告诉我们:在某些场合,如一个视频序列镜 头变化时,各附近帧中像素之间的时间相关性就很小,甚至消失 —这时,该视频镜头就成为一组无相关牲的静止画面的组合。在 这种情况下,可采用帧内编码技术来开发空间相关性,来实现有效 的数据压缩,MPEG压缩算法采用离散余弦变换(DCT)编码技 术,以8×8像素的画面块为单位,有效地开发同一面面各附近像 索之间的空间相关性。然而,若附近帧中各像素间具有较大的相关 性时,也就是说两个连续帧的内容很相似或相同时,就可以采用应 用时间预测(帧间的运动补偿预测)的帧间DPCM编码技术。在多 种MPEG视频编码方案中,若将时间运动补偿预测路剩余空间信息 的变换码自适应地结合起来,就能实现数据的高压缩(视频的 DPCM/DCT混合编码) 图1给出了一个画面的帕内像素问相关性特性的举例,这里采 用了一个非常简单,但很有价值的统计模式。这个假设的简单模式已包括了许多“典型”画面的一些基本的相关特性,也就是指相邻 像素间的高度相关性,以及随着像素间距的增大相关性的单值衰减 特性。我们以后将利用这一模式来展示变换区域编码的一些特性。 图1一些“典型”画面的像素间的空间相关性,是应用具有 高度像素间相关性的AR(1)GaussMarkov画面模式来加以计算 的。变量X和Y分别表示像素之间在画面水平和垂直方向上的距 离

(B)二次取样和内插法

几乎所有本论文中所叙述的视频编码技术,在编码之前,均大 量地进行了二次取样和量化工序。二次取样的基本概念是想减少输 入视频的Dimension 水平Dimension和或垂直Dimension),并在进 行编码处理之前先对像素进行编号。值得注意的是:在有些应用场 合,在时间方向上也对视频进行二次取样,以便在编码之前降低帧 频。在接收机端,已解码图像是通过内插法来加以显示的。这一方 法可以认为是一种最简单的压缩技术,这种压缩技术利用了人眼特 有的生理特姓,因而去除了视频数据中的含有的主观冗余度—即 与色度信号的变化相比,人眼对亮度信号的变化更灵敏。故众多 MPEG编码方案首先将画面分成YUV与量信号(一个亮度分量和 二个色度分量)接着,相对于亮度分量,对色度分量进行二次取 样,对于一些特殊应用,有一个Y:U:V比率(即对于MPEG—2 标准,采用4:1:1或4:2:2.

(C)运动补偿预测

运动补偿预测是一个有力的工具,以便减小帧间的时间冗余 度;并作为用于时间DPCM编码的预测技术,这一工具在MPEGl 和MPEG2视频编码标准中得到广泛应用。运动补偿概念是以对视 频帧间运动的估算为基础的,也就是说,若视频镜头中所有物体均在空间上有一位移,那么用有限的运动参数(如对于像素的平移运 动,可用运动矢量来描述)来对帧间的运动加以描述。在这一简单 例子中,一个来自前编码帧的运动补偿预测像素,就能给出一个有 效像素的最佳预测。通常,预测误差和运动矢量均传送至接收机。 然而,将一个运动信息对每一个编码画面像素进行编码,这既不值 得也没有这个必要。由于一些运动矢量之间的空间相关性通常较 高,有时可以这样认为:一个运动矢量代表一个相邻像素块的运 动。为了做到这一点,画面一般划分成一些不连接的像素块(在 MPEGl和MPEG2标准中一个像素块为16×16像素),对于每一个 这样的像素块,只对一个运动矢量进行估算、编码和传送(图2)。 在MPEG压缩算法中,运动补偿预测技术用来减少帧间的时间 冗余度,只对预测误差画面(原始画面与运动补偿预测画面之间的 差别)加以编码。总的来说,由于采用依据于前编码帧的预测,与 图l中所示的帧内相关性相比较,待编码的运动补偿帧间误差图像 中像素之间的相关性就差了。 图2用于运动补偿的块匹配法:在待编码的第N有效帧中,为 每一个画面块估算一个运动矢量(mv)该运动矢量针对前已编码 的第N—l帧中同样大小的一个参照画面块。运动补偿预测误差是 这样计算的:在带有前帧参照块中运动飘移对应物的面面块中,减 去一个像素。

(D)变换或编码

二十年来,人们已对变换编码进行了大量的研究,它已成为用 于静止画面编码和视频编码的一种非常流行的压缩方法。变换编码 的目的在于去掉帧内或帧间误差图像内容的相关性,对变换系数进 行编码,不是对画面的原始像素进行编码。为此,输入画面被分成 不连接的b像素的画面块(即N×N像素)。以一个线性、可分离的 和单元前向变换为基础,本变换可表示为一个矩阵 *** 作,采用一个N×N变换矩阵A,采获取N×N变换系数C。 C=AbAt 这里AT表示变换矩阵A的一种移项式。注意:这种变换是可逆的, 原因是,采用线性和可分离的反向变换,可以再现原始的N×N个 b像素的画面块. b=AtCa 利用许多可能的方法,应用于较小的由8×8像素组成的画面 块的离散余弦变换(DCT)已成为一种最佳的变换,用于静止画面 和视频编码。事实上,由于基于DCT的方法具有较高的抗相关性 能,并能获得快速DCT算法,适用于实时应用,已在大多数画面 和视频编码标准中加以使用。VLSI技术的运行速率适合较广泛的 视频应用范围,故已商业化。 变换编码的主要目的是使尽量多的变换系数足够的小,使它仍 无效(从统计和主观测量角度来看)。同时,应尽量减小系数之间 的统计相关性,目的在于减少对剩余系数进行编码所需的比特数 量。 图3示出了帧内DCT系数8×8像素块的方差(能量),这里是 以图1中已讨论过的简单的统计模式设想为基础的。此处,每一个 系数的方差,表示了系数(大量帧的乎均值)的可变性。与方差大 的系数相比,方差小的系数在画面像素块再现时意义就不大了。如 图3中所示,一般来说,为了获得画面像素块的有用的近似再现, 只要将少量DCT系数传送给接收机就行。然而,那些最高有效位 DCT系数集中在左上角(低DCT系数),面随着距离的增加,系数 的有效牲就逐步下降。这意味着:与较低位的系数相比,较高位的 DCT系数在画面像素块再现时的重要性就差一些。采用运动补偿预测,DCT变换的结果是,使DCT定义域中的时间DPCM信号实现 筒单的再现—这实质上继承了这种相似的统计相关性,如以DCT 定义域中的这个DPCM信号来再现图2中的帧内信号(虽然能量有 所减少)—这就是为什么为了使帧间压缩获得成功MPEG算法要采用DCT编码的原因 图3图示了DCT系数的方差分布情况,典型地计算了大量的画 面块而获得的平均值。DCT系数方差计算是以图1中的统计模式为 基础的。U和V分别该8×8块中水平和垂直画面变换域变量。大 多数总方差集中在DCDC了系数周围(U=0,v=0) DCT跟离散傅里叶变换很接近,而认识到以下这点是重要的, 即可以对DCT系数加以频率说明,使其更接近于DFTo在画面块 内,低位的Dcr系数与较低的空间频率有关而高位的DCT系数 与较高的频率有关。这一特性在MPEG编码方案中被加以应用,以 便去除画面数据中所包含的主观冗余度,这一切是以人类视觉系统 标准为基础的。由于跟较高空间频率有关的再现误差比较,观众对 较低空间频率的再现误差更加敏感,故在给定比特率情况后,为了 要改进解码画面的视觉质量往往根据视觉(感觉量化)对系数进 行频率自适应加权(量化) 上述两种技术—时间运动补偿预测和变换域编码—的结 合,被认为是MPEG编码标准的关键点 MPEG算法的第三个特 点是这两种技术的处理是较小的画面块(典型情况是:在16×16 像素上进行运动补偿,在8×8像素上进行DCT编码)。由于这个原 因,MPEG编码算法通常又叫作基于画面块的DPCM/DCT混合算法.

MPEG-1:一个通用标准-一个应用于数字存储媒体

(最高速率达1.5Mb/s)的活动图像和伴音的编码标准

由MPEG—1开发出来的视频压缩技术的应用范围很广,包 括从CD—ROM上的交互系统,到电信网络上的视频传送 MPEG1视频编码标准被认为是一个通用标准。为了支持多种应用, 可有用户来规定多种多样的输人参数,包括灵活的图像尺寸和帧 频。MPEG推荐了一组系统规定的参数:每一个MPEG—l兼容解码器至少必须能够支持视频源参数,最佳可达电视标准:包括每行 最小应有720个像素,每个图像起码应有576行,每秒最少不低于 30帧,及最低比特率为1.86Mb/s,标准视频输入应包括非隔行扫 描视频图像格式。应该指出:但并不是说,MPEGl的应用就限制 于这一系统规定的参数组。 根据JPiG和H。261活动,已开发出MPEG—l视频算法。当 时的想法是:尽量保持与CCITT H.261标准的共同性,这样,支 持两个标准的做法就似乎可能。当然,MPEGl主要目标在于多媒 体CD—ROM的应用,这里需要由编码器和解码器支持的附加函数 牲。由MPEGl提供的重要特性包括:基于帧的视频随机存取,通 过压缩比特流的快进/快退搜索,视频的反向重放,及压缩比特流 的编辑能力。

(A)基本的MPEG—1帧间编码方案

基本MPEGl(及MPEG2)视频压缩技术的基础为:宏模块结 构、运动补偿及宏模块的有条件再补给。如图49所示,MPEG—1 编码算法以帧内编码模式(I图像)对视频序列的第一帧进行编码。 每一个下一帧采用帧间预测法(P图像)进行编码——仅仅采用来 自前面最近的已编码I或P帧的数据,来进行预测,MPEG—l算 法对基于画面块视频序列的帧加以处理。视频序列中的每一个彩色 输入帧被分割成多个非重迭的“宏模块”,如图4b所示。每一个宏 模块包含4个亮度块(Y1,Y2,Y3,Y4)及两个色度块(U,V), 每个宏模块的尺寸为8*8像素,这些数据块来自于亮度带和共址 的色度带。在Y:U:V亮度与色度像素之间的取样比为4:1:1 以最近的前帧为基础,采用运动补偿预测法来对P图像加以编 码。每一帧被分割成不连接的“宏模块”(MB)。 图4b对于每一个宏模块,对有关4个亮度块(Y 3,Y2,Y3, Y4)和两个彩色决(U,V)的信总均加以编码。每个包含8×8个 像素。 基本的混合型DPCM/DCT MPEGl编码器和解码器结构的方 块图示于图5之中。视频序列第1帧(I图像)以帧内(INTRA) 模式加以编码不参照任何一个过去帧或未来帧。在编码器处,DCT 被加到每一个8×8亮度块和色度块上,在DC了输出之后,该64个 DCT系数中的每一个系数被均匀量化(Q),在宏模块中被用来对 DCT系数进行量化的量化器步长,传送给接收机。‘量化之后,最低 位DO系数(DC系数)的处理方法跟保留(remaining)系数 (AC系数)的处理方法是不一样的,DC系数表示分量模块的平均 亮度,可用微分DC预测法对DC系数加以编码。保留DCT系数及 它们位置的非零量化器值被Z字形扫描,并采用可变长度编码 (VLC)表对其进行扫描宽度嫡编码。 图5一个基本混合型DC了/DPCM 编码器和解码器结构的方决图 图6中表示出了系数Z字形扫描的概念。因为要利用系数将这 个两维的画面信号变换成一个单维的比特流,故在量化DCT域二 维信号扫描之后,进行的是可变长度码—字分配工序。并沿着扫描 行和两个连续非零系数之间的距离(行程),对这些非零AC系数量 化器值(长度)加以检测。采用仅传送—个VLC码字的方法,对 每一个连续(行程、长度)对进行编码,Z字形扫描的目的在于: 在跟踪高频系数之前先去跟踪低频DCT系数(包含最大的能量) 图6在8×8块内,已量化DCT系数的Z字形扫描。仅仅对非 零量化DCT系数加以编码。图中指出了非零DCT系数可能的位置 Z字形扫描的做法要想做到按系数的有效性去跟踪DCT系数 参看图3,最低位的DCT系数(0,0)包含了这些决中的最大部分 的能量,这些能量集中在较低位的DCT系数周围 解码器执行反向 *** 作,首先从比特流中提取可变长度编码字 (VLD)并加以解码,以便为每一个画面块获取非零DCT系数的位 置和量化器值。随着一个画面块所有非零DCT系数的再现(Q) 及随后获得的反DCT(DCT—1),就得到量化块像素值。通过对整 个比特流的处理,就对所有的画面块进行了解码,并加以了再现。 为了对P图像进行编码,前面的I图像的第N—l帧,存储在 设置在编码器和解码器内的帧存储器中。在宏模块中执行运动补偿 (MC)—对于即将进行编码的那个宏模块,在第N帧与第N—1 帧之间,仅对一个运动矢量进行估算。这些运动矢量被编码及传送 至接收机。运动补偿预测误差是这样计算的:即在带有前帧运动飘 移对应物的宏模块中减去一个像素。然后是将8×8DCT加入到包 含在该宏模块内的每一个8×8块中,接着是对DCT系数进行量化 (Q),并进行扫描宽度编码和炳编码(VLC)o这里需用一个视频缓 冲器;以确保编码器能产生一个常量的目标比特率输出。对于帧内 每一个宏模块来讲,量化步进(SZ)是可以调整的,以便获得给定 的目标比特率,并避免缓冲器出现溢流和下溢现象。 解码器采用反向处理,以便在接收机中再生第N帧的一个宏模 块。对包含在视频解码器缓冲器(VB)中的可变长度字(VLD) 进行解码之后,就能再现(Q和DCT—1 *** 作)预测误差像素值。 来自包含在帧存储器(FS)中的前第N—1曲的运动补偿像素,被 加入到预测误差之中,以恢复第N帧的那一宏模块。 在图7a一图7d中9采用了一个典型的测试序列,描述了采用 运动补偿预测编码视频的好处,而该预测是以MPEG编码器中的前 第N—1再现帧为依据的。用7a示出在N时间上将要进行编码的一 个帧,图7b示出了在N—1时间上的再现帧,其存储在设置在编码器和解码器中的帧存储器(FS)内。采用编码器运动估算方法已对 图7b中所示的块运动矢量(mv,参照图2)加以估算,并能预测第 N帧中每个宏模块的平移运动的位移(参照第N—1帧)。图7b出 示了这个纯帧差信号(第N帧减去第N—1帧),若在编码过程根本 不采用运动补偿预测,那么就能获得这个帧差信号——即假定所有 运动矢量为零。图7d出示了:当采用图7b的运动矢量来进行预测 时的运动补偿帧差信号。很明显,跟图7c中的纯帧差编码相比,采 用运动补偿,大大减缩了这个将要被编码的残差信号。 图7:(a)在N时间上将要被编码的帧:(b)在P4—1时间上 的帧,用来预测第N帧的内容(注意:四面中所示的运动矢量,并 不是存储在编码器和解码器内的再现画面的一部分;(c)没采用运 动补偿所获取的预测误差画面——假设所有的运动矢量均为零; (d)若采用运动补偿预测,将要进行编码的预测误差画面.

mpeg如何工作

mpeg-1的特点是它是一种有损的,非平衡编码。有损意味着为达到低比特率,一些图像和伴音信息将丢失。通常这些信息是人眼和人耳最不敏感的信息,因此即使以1x cd-rom的速率压缩也能达到vhs的图像质量和高保真立体声的效果。mpeg采用非平衡编码意味着压缩一幅图像比解压缩慢的多。

mpeg-1的数据流包含3种成分:图像流,伴音流和系统流。图像流仅仅包含画面信息,伴音流包含声音信息,系统流实现图像和伴音的同步。所有播放mpeg图像和伴音数据所需的时钟信息都包含在系统流中。

mpeg用复杂的数学和心理学技术达到它的压缩结果。mpeg伴音压缩编码利用了人耳灵敏度的研究结果,图像编码利用人眼对亮度,颜色,运动的灵敏度的一些有利结果。

mpeg伴音

cd伴音两个通道共包含1.4mbit/秒的数据流。听觉心理学研究表明,采用适当的压缩技术,此数据流可以压缩到256kbit/秒而不会感觉到任何失真。mpeg伴音利用这个结果,尽管一些mpeg压缩器不支持高质量图像。

mpeg伴音编码可以实现3种压缩等级。等级i是简单压缩,它是一种听觉心理学模型下的亚抽样编码。等级ii加入了更高的精度,等级iii加入了非线性量化,huffman编码和其他实现低速率高保真图像的先进技术。依次下去的等级提供了高质量和越来越高的压缩率,但要求计算机有越来越强的压缩能力。mpeg等级ii可以把一个1.4mbit/秒的立体声数据流压缩到32kbit/秒-384kbit/秒而保持高保真的声音。典型数据为,等级i的目标是每个通道192kbit/秒,等级ii的目标是每个通道128kbit/秒,等级iii的目标是每个通道64kbit/秒。目标ii要达到64kbit/通道时不如等级iii效果好,而在128kbit/通道,等级ii和等级iii的效果一样,而且都比等级i效果好。正如上面所说的,每通道128kbit/秒或者说两通道256kbit/秒可以达到很好的保真度。因此,等级ii对于高保真立体声音响是必要的,但也已足够了。

mpeg-1支持设置为单声道,双声道,立体声或联合立体声的两个声音通道,等级ii的联合立体声把声音信号的高频部分(高于2khz)结合起来,立体图像整个保存下来,但仅传输瞬时包络。等级i不支持两和立体声。有些mpeg压缩器不能产生等时ii的伴音流,从而声音保真度较低而且没有联合立体声功能。

mpeg图像

mpeg图像编码包含3个成分:i帧,p帧和b帧。mpeg编码过程中,一些图像压缩成i帧,一些压缩成p帧,另一些压缩成b帧。i帧压缩可以得到6;1的压缩比而不产生任何可觉察的模糊现象。i帧压缩的同时使用p帧压缩,可以达到更高的压缩比而无可觉察的模糊现象。b帧压缩可以达到200:1的压缩比,其文件尺寸一般为i帧压缩尺寸的15%,不到p帧压缩尺寸的一半。i帧压缩去掉图像的空间冗余度,p帧和b帧去掉时间冗余度,下文将进一步解释。

i帧压缩采用基准帧模式,只提供帧内压缩,即把帧图像压缩到i帧时,仅仅考虑了帧内的图像。i帧压缩不能除去帧间冗余度。帧内压缩基于离散余弦变换(dct),类似于jpeg和h.261图像中使用dct的压缩标准。

p帧采用预测编码,利用相邻帧的一般统计信息进行预测。也就是说,它考虑运动特性,提供帧间编码。p帧预测当前帧与前面最近的i帧或p帧的差别。

b帧为双向帧间编码。它从前面和后面的i帧或p帧中提取数据。b帧基于当前帧与前一帧和后一帧图像之间的差别进行压缩。

mepg数据流开始时对ccir-601规定的sif分辨率的未压缩数字图像进行抽样。sif分辨率,对于ntsc制,就是亮度信号为352*240各像素,每个色度信号都为176*120个象素。各信号都是每秒30帧。mpeg压缩器决定了当前帧以i帧,p帧还是b帧。帧确定之后就采用dct变换,对结果进行量化,舍入,行程编码即变长编码。编码后的典型图像帧序为:ibbpbbpbbpbbibbpbbpbbpbbi…

b帧和p帧要求计算机有更强的功能。有些压缩器不能产生b帧或者连p帧也不能产生,则图像的压缩结果将有很明显的间断。

其他形式的图像压缩

当然,mpeg不是仅有的图像压缩标准。h.261,运动jpeg,cinepak和indeo是最优的替代标准。

h.261和motion-jpeg与mepg采用相似的技术,即都采用离散余弦变换(dct)。然而,jpeg就象mpeg i帧压缩一样,是一种帧内压缩,而且要想不产生可觉察的模糊现象,压缩比不能超过10。因此,要用cd-rom或internet传输图像,jpeg不是一种好的选择,因为它们的压缩比要求达到200:1。h.261可以提供很高的压缩比,然而它不太适用于有大量运动的图像,而最适用于有静态背景的谈话图像。尽管h.261支持通过p帧的帧间压缩,但它不支持b帧压缩。因此,高压缩率的获得是以部分牺牲图像质量为代价的。当图像质量和运动很重要时,h.261将不再是好的选择。

indeo3.2和4.0是专卖的,采用不同的压缩技术。indeo 4.0压缩是两者中较复杂的一种,允许双向预测(b帧)和缩放。一般,indeo4.0压缩用软件实现,速度很慢,尤其是使用b帧编码时尤其如此。indeo的b帧压缩还会造成帧丢失。缩放功能还会造成突变边缘有可觉察的象素化现象及帧的丢失。不用b帧压缩和缩放功能时,320x240分辨率,每秒15帧的图像可以压缩到每秒200kbytes。相比之下,mpeg提供了更高的压缩率,即将352x240分辨率,每秒30帧的图像压缩到每秒150kbyte。

cinepak是由radius公司发展的一种压缩技术,它也是专卖的,压缩速度很慢。一般它提供每秒15帧的cd而不象mpeg为每秒30帧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12095059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存