有损压缩
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有损压缩
有损压缩
所谓有损压缩是利用了人类对图像或声波中的某些频率成分不敏感的特性,允许压缩过程中损失一定的信息;虽然不能完全恢复原始数据,但是所损失的部分对理解原始图像的影响缩小,却换来了大得多的压缩比。
有损压缩广泛应用于语音,图像和视频数据的压缩。
概述
常见的声音、图像、视频压缩基本都是有损的。
在多媒体应用中,常见的压缩方法有:PCM(脉冲编码调制
有损压缩
),预测编码,变换编码,插值和外推法,统计编码,矢量量化和子带编码等,混合编码是近年来广泛采用的方法。
mp3divX Xvid jpeg rm rmvb wma wmv等都是有损压缩。
有损数据压缩方法是经过压缩、解压的数据与原始数据不同但是非常接近的压缩方法。
有损数据压缩又称破坏型压缩,即将次要的信息数据压缩掉,牺牲一些质量来减少数据量,使压缩比提高。
这种方法经常用于因特网尤其是流媒体以及电话领域。
在这篇文章中经常成为编解码。
它是与无损数据压缩对应的压缩方法。
根据各种格式设计的不同,有损数据压缩都会有generationloss:压缩与解压文件都会带来渐进的质量下降。
人眼或人耳能够察觉的有损压缩带来的缺陷称为压缩失真(en:compressionartifact)。
类型
有两种基本的有损压缩机制:
一种是有损变换编解码,首先对图像或者声音进行采样、切成小块、变换到一个新的空间、量化,然后对量化值进行熵编码。
另外一种是预测编解码,先前的数据以及随后解码数据用
有损压缩
来预测当前的声音采样或者图像帧,预测数据与实际数据之间的误差以及其它一些重现预测的信息进行量化与编码。
有些系统中同时使用这两种技术,变换编解码用于压缩预测步骤产生的误差信号。
优点与不足
有损方法的一个优点就是在有些情况下能够获得比任何已知无损方法小得多的文件大小,同时又能满足系统的需要。
当用户得到有损压缩文件的时候,譬如为了节省下载时间,解压文件与原始文件在数据位的层面上看可能会大相径庭,但是对于多数实用目的来说,人耳或者人眼并不能分辨出二者之间的区别。
有损方法经常用于压缩声音、图像以及视频。
有损视频编解码几乎总能达到比音频或者静态图像好得多的压缩率(压缩率是压缩文件与未压缩文件的比值)。
音频能够在没有察觉的质量下降情况下实现10:1的压缩比,视频能够在稍微观察质量下降的情况下实现如300:1这样非常大的压缩比。
有损压缩图像的特点是保持颜色的逐渐变化,删除图像中颜色的突然变化。
生物学中的大量实验证明,人类大脑会利用与附近最接近的颜色来填补所丢失的颜色。
例如,对于蓝色天空背景上的一朵白云,有损压缩的方法就是删除图像中景物边缘的某些颜色部分。
当在·屏幕上看这幅图时,大脑会利用在景物上看到的颜色填补所丢失的颜色部分。
利用有损压缩技术,某些数据被有意地删除了,而被取消的数据也不再恢复。
有损静态图像压缩经常如音频那样能够得到原始大小的1/10,但
有损压缩
是无可否认,利用有损压缩技术是会影响图像质量,尤其是在仔细观察的时候,质量下降更加明显,。
另外,如果使用了有损压缩的图像仅在屏幕上显示,可能对图像质量影响不太大,至少对于人类眼睛的识别程度来说区别不大,因为人的眼睛对光线比较敏感,光线对景物的作用比颜色的作用更为重要。
可是,如果要把一幅经过有损压缩技术处理的图像用高分辨率打印机打印出来,那么图像质量就会有明显的受损痕迹。
一些方法将人体解剖方面的特质考虑进去,例如人眼只能看到一定频率的光线。
心理声学模型描述的是声音如何能够在不降低声音感知质量的前提下实现最大的压缩。
常见格式
——MP3(MP3PRO\MP3SURROUND)、AAC(*.3gp/*.mp4/*.m4a)、ATRAC3/ATRAC3+(*.aa3)。
先来明白音频压缩的原理:利用人耳听觉的心理声学特性(频谱掩蔽特
有损压缩
性和时间掩蔽特性等)以及人耳对信号幅度、频率、时间的有限分辨能力,编码时凡是人耳感觉不到的频率不编码、不传送,即凡是对人耳辨别声音信号的强度、声调、方位没有贡献的部分(称为不相关部分或无关部分)都不编码和传送。
对感觉不到的部分进行编码时,允许有较大的量化失真、并使其处于听阈(即人耳所能听到的最低音量)以下,人耳仍然感觉不到。
音频的压缩就是利用这些特点来工作的。
心理声学的几个基本概念
1、等响度曲线
人的听觉的灵敏度随着频率而改变。
即通常两个功率一样但频率不同的音调听起来并不一样响。
通过等响度曲线,我们可以看出,人耳对4KHz的频率最灵敏,即在4KHz下能被察觉出来的声音压力水平(响度),在其他频率下并不能被察觉。
这就给在一些不太灵敏的频率下失真提供了条件。
2、屏蔽
我们上高中物理时学过屏蔽。
就是强的声音信号把弱的声音信号覆盖,导致我们无法察觉。
而且,当两个声音在时间和频率上很接近时,屏蔽效应就会很强。
因此,我们可以在编码时对被屏蔽的部分不编码、不传送。
这样,音质依然没有大的损失,人耳也不易察觉。
3、临界频带
对于人类的听觉来说,对声音的感知特性并不是以线形频率为尺度来变化的(人的听觉还没那么好),而是可以用被称为临界频带的一系列有限的频段来表达。
简单的说,把整个频带划分成几段,在这每个频段里,人耳的听觉感知是相同的,即心理声学特性都是一样的。
言归正传,编码的精髓就是算法。
主流编码及其算法
1、MP3(MP3PRO\MP3SURROUND)
MP3应该算目前应用最广泛的有损压缩数字音频格式了。
它的全称是MPEG (MovingPictureExpertsGroup)AudioLayer-3。
1987年德国Fraunhofer研究院研制成功的一种有损压缩数字音频格式,并于1989年取得专利。
起初,它并不完善,它更像一个编码标准框架,留待人们去完善。
1992年,这一技术并入了MPEG规范,并有了正式名号——MP3。
MP3文件是由帧(frame)构成的,帧是MP3文件最小的组成单位。
什么是帧?还记得最初的动画是怎么做的吗?不同的连续画面切换以达到动态效果,每幅画面就是一个“帧”,不同的是MP3里面的帧记录的是音频数据而不是图形数据。
MP3的帧速度大概是30帧/秒。
每个帧又由帧头和帧数据组成,帧头记录着该帧的基本信息,包括位率索引和采样率索引(这对理解ABR和VBR编码方式很重要)。
帧数据,顾名思义就是记录着主体音频数据。
上面说的都是MP3编码的基础,但事实上,早期的编码器都非常不完善,压缩算法近于粗暴,音质很不理想。
MP3的音质达到现在的水平有两次飞跃:人体听觉心理学模型(PerceptualModel)的导入和VBR技术的应用。
PS:VBR是variablebitrate的缩写,意思是可变比率,就是MP3文件压制的时候声音元素较多,比率较高时,将自动减低压缩比特率,在比特率需求比较低时自动升高比特率,这样做的目的是在保证音质基本不被损害的情况下增加文件在线播放时的速度,和减少在本机播放时所占的系统资源……这是Xing发展的算法,他们将一首歌的复杂部分用高Bitrate编码,简单部分用低Bitrate编码。
主意虽然不错,可惜
Xing编码器的VBR算法很差,音质与CBR相去甚远。
幸运的是,Lame完美地优化了VBR算法,使之成为MP3的最佳编码模式。
这是以质量为前提兼顾文件大小的方式,推荐编码模式。
MP3能生存到今天,它的发展仍未止步。
2001年6月14日,法国汤姆森与美国RCA两家公司联合推出了一种新的压缩格式:MP3PRO。
MP3PRO是基于MP3技术改良而来,它利用了CodingTechnologies公司开发的编解码增强技术,该术称为SBR(SpectralBandReplication)。
当制作MP3PRO文件时,编码器将音频分为两部分。
一部分是将音频数据中的低频部分分离出来,通过传统的M
有损压缩
P3技术编码得出正常的MP3音频流。
此举使MP3编码器专注于低频段信号的压缩从而获得更好的质量,而且使原来的MP3播放器也能播放MP3PRO文件。
另一部分则是将分离出来的高频信号进行编码并嵌入MP3流中。
传统的MP3播放器会将其忽略掉,而新的MP3PRO播放器会将其还原出来并进行组合,得到高质量的全带宽的声音。
通过这项技术,使得MP3PRO64Kbps的编码率便可提供128Kbps的MP3相同的质量,且具有相差无几的音质,而体积只有MP3的一半大小。
PSP就支持MP3PRO,而且支持MP3PRO的格式转换软件也很多,大家可以去网上找找。
有兴趣的话可以试试,绝对比mp3强啊。
Thomson在2004年12月初正式宣布世界上最流行的音乐压缩格式MP3迈进多声道时代。
MP3SURROUND是由FraunhoferIIS和Agere联合开发的,使用了binauralCueCoding(BCC)技术心理声学编码,可以在实现多声道环绕的同时保证文件的大小。
同时加入的AgereSystems公司则主要负责将多声道MP3格式——MP3SURROUND进行推广。
MP3SURROUND技术实现了5.1声道环绕的高品质音频,应用范围相当广泛,可以在网络音乐发布、广播系统、PC视听应用、游戏音效、消费电子产品和车载音响等方面发挥作用。
尽管集成了多个声道,但是Thomson 表示MP3SURROUND文件相对于普通MP3(采样率相当)并没有太大的增加,相对于其他环绕多声道音频格式就只有它们的一半了。
更为重要的,MP3SURROUND 提供了良好的兼容性,可以在现有的MP3软件、MP3播放器上正常使用。
目前网上出现了MP3SURROUND的专门网站,大家从这里可以下载到MP3SURROUND的解码/编码工具以及已经做好的MP3文件,对MP3SURROUND 有兴趣的朋友还可以下载到技术文档。
psp2.80支持7.1声道,2.80的玩家不妨体验一
下MP3SURROUND的魅力!
2、AAC(*.3gp/*.mp4/*.m4a)
AAC是高级音频编码(AdvancedAudioCoding)的缩写,它是由Fraunhofer研究院、杜比和AT&T共同研发的。
AAC是MPEG-2规范的一部分,它适用于从速率8Kbps的单声道电话音质到160Kbps多声道的超高质量音频范围内的编码。
AAC与MP3相比,增加了诸如对立体声的完美再现、码流效果音扫描、多媒体控制、降噪优化等MP3音频格式所没有的特性,使得在音频压缩后仍能完美地再现CD音质。
它还同时支持多达48个音轨、15个低频音轨、更多种采样率和比特率、多种语言的兼容性、更高的解码效率。
总之,AAC可以在比MP3文件缩小30%的前提下提供更好的音质。
现将其中的几个模块作一些说明:
增益控制(Gaincontrol)增益控制模块用在可变采样率配置中,它由多相正交滤波器PQF(polyphasequadraturefilter)、增益检测器(gaindetector)和增益修正器(gainmodifier)组成。
这个模块把输入信号分离到4个相等带宽的频带中。
在解码器中也有增益控制模块,通过忽略PQF的高子带信号获得低采样率输出信号。
滤波器组(FilterBank) 滤波器组是把输入信号从时域变换到频域的转换模块,它是MPEG-2AAC系统的基本模块。
这个模块采用了改进离散余弦变换MDCT,它是一种线性正交交迭变换,使用了一种称为时域混迭取消TDAC(timedomainaliasingcancellation)技术。
MDCT使用KBD(Kaiser-Besselderived)窗口或者使用正弦(sine)窗口,正向MDCT变换可使用下式表示:逆向MDCT 变换可使用下式表示:其中,n=样本号,N=变换块长度,i=块号,以上两个离散余弦变换公式在《离散函数》和《数理方程》中有详细介绍,只为帮助有兴趣的玩家了解,不必深究。
瞬时噪声定形TNS在感知声音编码中,TNS模块是用来控制量化噪声的瞬时形状的一种方法,解决掩蔽阈值和量化噪声的错误匹配问题。
这种技术的基本想法是,在时域中的音调声信号在频域中有一个瞬时尖峰,TNS使用这种双重性来扩展已知的预测编码技术,把量化噪声置于实际的信号之下以避免错误匹配。
联合立体声编码联合立体声编码(jointstereocoding)是一种空间编码技术,其目的是为了去掉空间的冗余信息。
MPEG-2AAC系统包含两种空间编码技术:M/S 编码(Mid/Sideencoding)和声强/耦合(Intensity/Coupling)。
M/S编码使用矩阵运算,因此把M/S编码称为矩阵立体声编码(matrixedstereocoding)。
M/S编码不传送左右声道信号,而是使用标称化的“和”信号与“差”信号,前者用于中央M(middl
有损压缩
e)声道,后者用于边S(side)声道,因此M/S编码也叫做“和-差编码(sum-differencecoding)”。
声强/耦合编码的名称也很多,有的叫做声强立体声编码(intensitystereocoding),或者叫做声道耦合编码(channelcouplingcoding),它们探索的基本问题是声道间的不相关性(irrelevance)。
预测(Prediction)这是在话音编码系统中普遍使用的一种技术,它主要用来减少平稳(stationary)信号的冗余度。
量化器(Quantizer)使用了非均匀量化器。
无噪声编码(Noiselesscoding)无噪声编码实际上就是霍夫曼编码,它对被量化的谱系数、比例因子和方向信息进行编码。
PS:我个人比较喜欢AAC,所以写的较为详细,大家也不妨试试,绝对比MP3优秀。
大家可以使用iTunes6来转换AAC(*.m4a)。
iTunes6AAC的操作很简单,你可以直接把AAC(*.3gp\*.mp4\*.m4a)拷贝到[MUSIC]就能播。
可以说,aac是目前最好的有损压缩方式。
最高质量的普较无损看(肉眼)不出区别。
3、ATRAC3/ATRAC3+(*.aa3)
早年玩MD的朋友都知道SONY专为MD量身定做的ATRAC音频格式算法,后来又广泛应用于SONY的NetworkWalkman和其他便携音频设备。
“ATRAC3plus”代表“自适应转换声音编码3+”,是一套基于心理声学原理的音频压缩技术,从ATRAC3格式发展而来,到2002年这项技术才日趋完美。
这一技术是把MD随身听的体积缩小到很小的理论基础。
要分析ATRAC3/ATRAC3+,我们先要谈谈它的大哥——ATRAC算法。
当数字音频数据被压缩时,通常都会把一定数量的量化噪音带入信号。
为了不让这些信号被人耳感知,通常的做法是,音频编码把信号分解为一组单元,每组单元都对应着特定的时间频率范围。
编码器会依据前文提到的心理声学原理来分析,对重要的单元进行高精度编码,对不敏感的单元可以保留一些量化的噪音但不影响人耳的感知质量。
解码时,量化频谱会根据比特分配重新建立,然后合成音频信号。
ATRAC也不例外,但有一些改进。
ATRAC还应用了子频带译码和转换译码技术,输入的信号被分配得到不均匀的强调重要低音区的频率分割。
另外,ATRAC使用一个可变块长度改变输入的信号,这可以确保在稳定通过时高效的译码,不会在瞬间通
过时影响时间的分辨率。
具体说,输入的信号在5.5125KHz和11.025KHz被分为3个频带。
子频带的分解使用QMF(QuadratureMirrorFilters积分映射过滤器)来完成;这3个频带被MDCT(ModifiedDiscreteCosineTra nsform变址离散余弦变换——类似于通常的快速傅里叶变换,《高等数学二》和《数理方程》中有相关介绍。
)转换成频谱值,MDCT允许块之间有达50%的交迭,使得在维持临界采样时能提高频率解析度。
块的长度可以根据信号的种类改变,这就是ATRAC的自适应部分(这一做法主要是为了利用屏蔽掩盖初始量化噪音)。
当ATRAC算法发展了10年,已经满足不了市场的需求,SONY于2002年8月推出了新的算法——ATRAC3/ATRAC3+。
其核心算法较ATRAC没有本质的大改变,只是采用了改进的频带分离过滤和MDCT,并使用增益调节、音调成分分离、联合立体声(Joint-Stereo)等技术,使得音频压缩数据的体积进一步缩小。
下面我介绍一下用组棒听ATRAC3音乐的最简方法:
用sonicstageCP(或sonicstage3.4)将CD音轨(或MP3、WMA文件)转换为ATRAC文件,其中包括ATRAC3、ATRAC3plus两种格式。
注意:在转换时千万不要选择添加复制保护,否则由于版权保护信息不正确,PSP将不能播放文件。
这是关键的操作。
生成的ATRAC文件的后缀为.oma,我们只要将后缀改为.aa3即可。
然后将ATRAC文件拷贝到[MUSIC]目录(或其子目录)里,这时你的PSP将能够完美播放ATRAC3音乐。
4、AAL(ATRACAdvancedLossless)
AAL是ATRACAdvancedLossless(自适应声学转换高级无损编码)的缩写,是SONY新开发的一个音频压缩格式其特点是无损压缩,不损失一点音频信息,一张CD可以压缩到原来的30%--80%但目前PSP还不支持ATRACAdvancedLossless,但我相信在PSP3.0里极有可能对其支持。
目前,其技术资料我还没有见到,所以暂不作分析。
5、Ogg
Ogg全称应该是OGG Vobis(ogg Vorbis) 是一种新的音频压缩格式,类似于MP3等现有的音乐格式。
但有一点不同的是,它是完全免费、开放和没有专利限制的。
OGG Vobis有一个很出众的特点,就是支持多声道,随着它的流行,以后用随身听来听DTS编码的多声道作品将不会是梦想。
Vorbis 是这种音频压缩机制的名字,而Ogg则是一个计划的名字,该计划意图设计一个完全开放性的多媒体系统。
目前该计划只实现了OggVorbis这一部分。
Ogg Vorbis文件的扩展名是.OGG。
这种文件的设计格式是非常先进的。
现在创建的OGG文件可以在未来的任何播放器上播放,因此,这种文件格式可以不断地进行大小和音质的改良,而不影响旧有的编码器或播放器。
较aac而言,低频方面略有优势,高频方面比aac差。
最高质量的普较无损看(肉眼)不出区别。
最高质量,即Q10,体积比aac使用faac编码最高质量Q500体积大差不多一倍。
编码开源。
结束语
一个音乐文件从录制到播放,有3个重要环节:编码(算法)、解码(硬件解码器)、输出(耳机、耳塞)。
这每个环节都对最终我们聆听到的声音音质有着重要的意义,缺一不可。
今天,我谈的是基础的编码(算法),希望大家能找到最适合你的编码,我个人的看法是AAC256Kbps和ATRAC3plus256Kbps。
AAC的算法是“精致”,ATRAC的算法是“巧妙”。