转载自:videofans http://blog.video.com.cn/videofans/archives/2005/1…
一.为什么需要对图象进行压缩?
在对视频图象进行数字化时,将生成大量的数字信息。例如一帧720X576点阵、16位色的数字图象占用1.35MB的存储空间,所以全活动 (每秒25帧)图象所占用的带宽将达到每秒33.75MB,只有少数配置成RAID-0的SCSI硬盘阵列可能跟上这个存储速度。照此速度,常用的CD- R盘片只能存储16秒这种活动图象。因此,为了进入实际应用,必然需要对视频信号进行压缩。
二.压缩分为无损压缩与有损压缩
1.无损压缩
无损压缩是指回放压缩文件时,能够准确无误地恢复原始数据。这常用于数据文件的压缩,例如ZIP文件。无损压缩常用的算法是Huffman方法和可变游程编码。
Huffman统计码字出现的概率,按照频率高的码字分配较短编码位数这一编码原则,减小平均字长,达到压缩数据的效果。这种压缩算法需要预先统计图像中颜色值出现的概率,编码方案每幅图像都不相同,编码效率不高。
可变游程编码使用一对参数,颜色和长度,来代替一连串连续存储的相同颜色值,从而减小相同颜色所占用的存储空间。这种压缩算法压缩黑白图片时非常有用,但是对活动的彩色图象压缩时并不实用,它受图象复杂度的影响太大,造成压缩率过低,很难超过3:1。
2.有损压缩
顾名思义,有损压缩算法靠丢掉大量冗余信息来降低数字图象所占的空间,回放时也不能完整地恢复原始图象,而将有选择地损 失一些细节,损失多少信息由需要多高的压缩率决定。对同一种压缩算法来讲,所需压缩率越高,损失的图象信息越多。一般采用的算法为变换编码+运动检测。现 在通用的变换编码有DCT(离散余弦变换)和小波变换,运动检测采用块搜索算法。还有其他一些编码算法:对象编码,基于模型的编码,分形编码等。
现在所用的MPEG,H.263等压缩标准,都是基于变换编码+运动检测的方法,都属于有损算法。
三.MPEG系列压缩算法介绍
MPEG系列是目前使用最多的压缩标准。MPEG(Moving Picture Expert Group)是在1988年由国际标准化组织(International Organization for Standardization,ISO)和国际电工委员会(International Electrotechnical Commission,IEC)联合成立的专家组,负责开发电视图像数据和声音数据的编码、解码和它们的同步等标准。这个专家组开发的标准称为MPEG标 准,到目前为止,已经开发和正在开发的MPEG标准有:
MPEG-1:数字电视标准,1992年正式发布。
MPEG-2:数字电视标准。
MPEG-3:已于1992年7月合并到高清晰度电视(High-Definition TV,HDTV)工作组。
MPEG-4:多媒体应用标准(1999年发布)。
MPEG-5:直至1998年9月还没有见到定义。
MPEG-6:直至1998年9月还没有见到定义。
MPEG-7:多媒体内容描述接口标准(正在研究)。
MPEG-1和-2标准已经正式发布,并且得到广泛应用。例如,CD-交互系统,在网络上的数字声音广播、数字电视广播和影视点播等。下面是MPEG-1和-2的典型编码参数。
1.MPEG-1
MPEG-1标准于1993年发布。它的设计思想是在1Mbit/s到1.5Mbit/s的低带宽条件下,提供尽可能高的图象质量(包括音频,以下所指图象均包括音频)。对家庭录影与商务资料存档来说,MPEG-1所提供的质量已经足够好。
VCD使用MPEG-1标准,图象尺寸为352X288,标准带宽为1.2Mbit/s。
2.MPEG-2数字电视标准
MPEG-2标准从1990年开始研究,1994发布DIS。它是一个直接与数字电视广播有关的高质量 图像和声音编码标准。 MPEG-2可以说是MPEG-1的扩充,因为它们的基本编码算法都相同。但MPEG-2增加了许多MPEG-1所没有的功能, 例如运动向量的精确度提高到半个像素;由于关键帧里存在特殊向量,扩展了错误冗余;离散余弦变换中可选择精度;超前预测模式;质量伸缩性(在同一视频流中可容忍不同质量的图象);支持VBR,提供了位速率的可变性能(scalability)功能;增加了隔行扫描电视的编码。
MPEG-2要达到的最基本目标是:位速率为4~9 Mbit/s,最高达15 Mbit/s。
MPEG-2的标准号为ISO/IEC 13818,标准名称为”信息技术�电视图像和伴音信息的通用编码(Information technology – Generic coding of moving pictures and associated audio information )”。MPEG-2包含9个部分:
① MPEG-2系统,写成MPEG-2 Systems,规定电视图像数据、声音数据及其他相关数据的同步,标准名是ISO/IEC 13818-1:1996 Information technology – Generic coding of moving pictures and associated audio information :Systems。
MPEG-2的系统模型标准主要是用来定义电视图像数据、声音数据和其他数据的组合,把这些数据组合成一个或者多个适合于存储或者传输的基本数据流。
数据流有两种形式,一种称为程序数据流(Program Stream,PS),另一种称为传输数据流(Transport Stream,TS)。程序数据流是组合一个或者多个规格化的即包化基本数据流(Packetised Elementary Streams,PES)而生成的一种数据流,用在出现错误相对比较少的环境下,适合使用软件处理的应用;传输数据流也是组合一个或者多个PES而生成的 一种数据流,它用在出现错误相对比较多的环境下,例如在有损失或者有噪声的传输系统中。
② MPEG-2电视图像,写成MPEG-2 Video,规定电视数据的编码和解码,标准名是ISO/IEC 13818-2:1996 Information technology – Generic coding of moving pictures and associated audio information :Video。
③ MPEG-2声音,写成MPEG-2 Audio,规定声音数据的编码和解码,是MPEG-1 Audio的扩充,支持多个声道,标准名是ISO/IEC 13818-3:1998 Information technology – Generic coding of moving pictures and associated audio information – Part 3:Audio。
④ MPEG-2一致性测试,写成MPEG-2 Conformance testing,标准名是ISO/IEC DIS 13818-4 Information technology – Generic coding of moving pictures and associated audio information – Part 4:Conformance testing。
⑤ MPEG-2软件模拟,写成MPEG-2 Software simulation,标准名是ISO/IEC TR 13818-5:1997 Information technology – Generic coding of moving pictures and associated audio information – Part 5:Software simulation。
⑥ MPEG-2数字存储媒体命令和控制扩展协议,写成MPEG-2 Extensions for DSM-CC,标准名是ISO/IEC DIS 13818-6 Information technology – Generic coding of moving pictures and associated audio information – Part 6:Extensions for DSM-CC。
这是一个数字存储媒体命令和控制(Digital Storage Media Command and Control,DSM-CC)扩展协议,用于管理MPEG-1和MPEG-2的数据流,使数据流既可在单机上运行,又可在异构网络(即用类似设备构造但运行不同协议的网络)环境下运行。在DSM-CC模型中,服务器(server)和客户器(client)都被认为是DSM-CC网络的用户 (user),DSM-CC定义了一个称为会话和资源管理(Session and Resource Manager,SRM)的实体,用来集中管理网络中的会话和资源。
⑦MPEG-2先进声音编码,写成MPEG-2 AAC,是多声道声音编码算法标准。这个标准除后向兼容MPEG-1 Audio标准之外,还有非后向兼容的声音标准。标准名是ISO/IEC 13818-7:1997 Information technology – Generic coding of moving pictures and associated audio information – Part 7:Advanced Audio Coding (AAC)。
⑧ MPEG-2系统解码器实时接口扩展标准,标准名是ISO/IEC 13818-9:1996 Information technology – Generic coding of moving pictures and associated audio information – Part 9:Extension for real time interface for systems decoders。
这是与传输数据流(Transport Stream)的实时接口(real-time interface,RTI)标准,
它可以用来适应来自网络的传输数据流。
⑨ MPEG-2 DSM-CC一致性扩展测试,标准名是ISO/IEC DIS 13818-10 Information technology – Generic coding of moving pictures and associated audio information – Part 10:Conformance extensions for Digital Storage Media Command and Control (DSM-CC)。
⑩ MPEG-2先进声音编码标准修正版,标准名是Amendment 1 to ISO/IEC TR 13818-5:1997 Amendment 1 to ISO/IEC TR 13818-5:1997 Advanced Audio Coding (AAA)。
最后要说明的是,MPEG-2的Part 8原计划用于采样精度为10比特的电视图像编码,但由于目前工业界对此兴趣不大,因此该标准已暂停开发。
3.MPEG-4多媒体应用标准
MPEG-4标准是目前最新的图象格式标准之一。完整的MPEG-4是一个多媒体通信的框架和规范协议,其中的视频编码算法的设计思想是在极低带宽和可变输出码率(10Kbit/s到1Mbit/s)的条件下提供尽可能好的图象质量。此外,对MPEG- 4来说,由于网络传输的不确定性,数据传输的完整性、正确性也显得非常重要。因此MPEG-4在移动多媒体通信中也占据了关键地位(相对地,MPEG-1 或MPEG-2在传输时少量地丢帧不会影响图象质量,但是丢失率上升时,错误恢复比MPEG-4要差)。
MPEG-4标准最不同从前编码算法的是基于对象的编码算法。它按对象组织图象内容。也就是说,它把图象内容分解成一个个的对象单元,对这些对象单元可以进行单独的存放和处理,并改动他们的相对位置。
MPEG-4现已被用于Internet上传递实时图象,同时也有一些厂家准备用它给手机发送实时图象。这些应用都将采用MPEG-4来搭建数字传输平台。
历史:
MPEG-4是MPEG (Moving Picture Experts Group)制订的一个ISO/IEC标准。其正式的标准编号是ISO/IEC 14496。MPEG-4从1994年开始工作,1998年10月完成,1999年1月成为国际标准,1999年底MPEG-4的第二版完成,2000年 上半年成为国际标准,目前MPEG-4的一些扩展工作仍在进行之中。
目的:
MPEG-1是为了CD-ROM上的交互式视频;MPEG-2是为了数字电视;MPEG-4着眼与三个方面,一是数字电视,二是交互式图形应用,三是交互式多媒体应用。
它是为视听(audio-visual)数据的编码和交互播放开发算法和工具,是一个数据速率很低的多媒体通信标准。 MPEG-4的目标是要在异构网络环境下能够高度可靠地工作,并且具有很强的交互功能。
为了达到这个目标,MPEG-4引入了对象基表达(object-based representation)的概念,用来表达视听对象(audio/visual objects,AVO);MPEG-4扩充了编码的数据类型,由自然数据对象扩展到计算机生成的合成数据对象,采用合成对象/自然对象混合编码 (Synthetic/Natural Hybrid Coding,SNHC)算法;在实现交互功能和重用对象中引入了组合、合成和编排等重要概念。MPEG-4中制定了一个称为传输多媒体集成框架 (Delivery Multimedia Integration Framework,DMIF)的会话协议,它用来管理多媒体数据流。该协议在原则上与文件传输协议FTP(File Transfer Protocol)类似,其差别是:FTP返回的是数据,而DMIF返回的是指向到何处获取数据流的指针。DMIF覆盖了三种主要技术:广播技术,交互网络技术和光盘技术。
MPEG-4将应用在移动通信和公用电话交换网(public switched telephone network,PSTN)上,并支持可视电话(videophone)、电视邮件(video mail)、电子报纸(electronic newspapers)和其他低数据传输速率场合下的应用。
MPEG-4的标准名是Very-low bitrate audio-visual coding (甚低速率视听编码)。截止到1998年9月,已作为国际标准草案(Draft International Standard,DIS)的MPEG-4文件有6个部分,它们是:
① MPEG-4系统标准,标准名是ISO/IEC DIS 14496-1 Very-low bitrate audio-visual coding – Part 1: Systems。
② MPEG-4电视图像标准,标准名是ISO/IEC DIS 14496-2 Very low bitrate audio-visual coding – Part 2: Video。
③ MPEG-4声音标准,标准名是ISO/IEC DIS 14496-3 Very low bitrate audio-visual coding – Part 3: Audio。
④ MPEG-4一致性测试标准,标准名是ISO/IEC DIS 14496-4 Very-low bitrate audio-visual coding – Part 4: Conformance Testing。
⑤ MPEG-4参考软件,标准名是ISO/IEC DIS 14496-5 Very-low bitrate audio-visual coding – Part 5: Reference software
⑥ MPEG-4传输多媒体集成框架,标准名是ISO/IEC DIS 14496-6 Very-low bitrate audio-visual coding – Part 6: Delivery Multimedia Integration Framework (DMIF)。
4.MPEG-7多媒体内容描述接口
MPEG-7的工作于1996年启动,名称叫做多媒体内容描述接口(Multimedia Content Description Interface) ,目的是制定一套描述符标准,用来描述各种类型的多媒体信息及它们之间的关系,以便更快更有效地检索信息。这些媒体材料可包括静态图像、图形、3D模型、 声音、话音、电视以及在多媒体演示中它们之间的组合关系。在某些情况下,数据类型还可包括面部特性和个人特性的表达。
与其他的MPEG标 准一样,MPEG-7是为满足特定需求而制定的视听信息标准。MPEG-7标准也是建筑在其他的标准之上的,例如,PCM, MPEG-1, MPEG-2和MPEG-4等等。在MPEG-7中,例如MPEG-4中使用的形状描述符、MPEG-1和MPEG-2中使用的移动矢量(motion vector)等都可能在MPEG-7中用到。
MPEG-7的处理链(processing chain)包含有三个方框:特征抽取(feature extraction)、标准描述(standard description)和检索工具(search engine)。特征的自动分析和抽取对MPEG-7是至关重要的,抽象程度越高,自动抽取也越困难,而且不是都能够自动抽取的,因此开发自动的和交互式 半自动抽取的算法和工具都是很有用的。尽管如此,特征抽取和检索工具都不包含在MPEG-7标准中,而是留给大家去竞争,以便得到最好的算法和工具。
MPEG-7的应用领域包括:数字图书馆(Digital library),例如图像目录、音乐词典等;多媒体目录服务(multimedia directory services),例如黄页(yellow pages);广播媒体的选择,例如无线电频道,TV频道等;多媒体编辑,例如个人电子新闻服务,多媒体创作等等。潜在应用的应用领域包括:教育、娱乐、 新闻、旅游、医疗、购物等等。
5.MJPEG
JPEG是静止画片,MJPEG是”Movion JPEG”的缩写。所以MJPEG实际上是静止画片与活动图象之间的中间格式。MJPEG图象流的单元就是一帧一帧的JPEG画片。因为每帧都可任意存取,所以MJPEG常被用于视频编辑系统。
MJPEG是基于JPEG的一种编码算法,也是由JPEG专家组制订的,其图像格式是对每一帧进行压缩,通常可达到6:1的压缩率,这个比率相对来说仍然不足。
由于MJPEG不是一个标准化的格式,各厂家都有自己版本的MJPEG,双方的文件无法互相识别。
6. H.261与H.263
H.261是为ISDN的电视/电话会议制定的标准。它可以根据传输线路的带宽来调整图象质量,以达到刚好吻合的程度。H.261的传输速率为64Kbit/s、128Kbit/s直到384Kbit/s(P×64Kbit/s)。
H.263和H.263+是H.261的后续标准。比之H.261,它提高了运动补偿的精度,常用于超低速率的图象传输,例如可视电话等。