音频 PCM音频编码格式详解

【概念】

PCM(Pulse Code Modulation)音频编码格式也被称为脉冲编码调制。就是将声音等模拟信号变成符号化的脉冲列,再进行记录存储。

【原理】

把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输.脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化,编码的过程.

抽样,就是对模拟信号进行周期性扫描,把时间上连续的信号变成时间上离散的信号.该模拟信号经过抽样后还应当包含原信号中所有信息,也就是说能无失真的恢复原模拟信号.它的抽样速率的下限是由抽样定理确定的.在该实验中,抽样速率采用8Kbit/s.

量化,就是把经过抽样得到的瞬时值将其幅度离散,即用一组规定的电平,把瞬时抽样值用最接近的电平值来表示. 一个模拟信号经过抽样量化后,得到已量化的脉冲幅度调制信号,它仅为有限个数值.

编码,就是用一组二进制码组来表示每一个有固定电平的量化值.然而,实际上量化是在编码过程中同时完成的,故编码过程也称为模/数变换,可记作A/D.

【特点】

PCM信号未经过任何编码和压缩处理(无损压缩)。与模拟信号比,它不易受传送系统的杂波及失真的影响。动态范围宽,可得到音质相当好的效果。

在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美支持,由于本身可以达到较高的音质的要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV作为了一种中介的格式,常常使用在其他编码的相互转换之中,例如MP3转换成WMA。

【存储】

单声道的文件,采样数据按时间的先后顺序依次存入。(它的基本组织单位是BYTE(8bit)或WORD(16bit))。

双声道的文件,采样数据按时间先后顺序交叉地存入。如图所示:

PCM的每个样本值包含在一个整数i中,i的长度为容纳指定样本长度所需的最小字节数。

首先存储低有效字节,表示样本幅度的位放在i的高有效位上,剩下的位置为0。

参考文章:http://blog.csdn.net/ownWell/article/details/8114121

音频 PCM音频编码格式详解

时间: 2024-07-29 14:55:12

音频 PCM音频编码格式详解的相关文章

Android开发之AudioManager(音频管理器)详解

AudioManager简介: AudioManager类提供了访问音量和振铃器mode控制.使用Context.getSystemService(Context.AUDIO_SERVICE)来得到这个类的一个实例. 公有方法: Public Methods int abandonAudioFocus(AudioManager.OnAudioFocusChangeListenerl) 放弃音频的焦点. void adjustStreamVolume(int streamType, int dir

Base64编码格式详解

什么是Base64? 按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式.(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.) 为什么要使用Base64? 在设计这个编码的时候,我想设计人员最

第五章 音频和视频应用详解(第一篇)

---恢复内容开始--- 5.1处理音频 1.使用<video>元素标记 当前<video>标记支持如下三种格式 Ogg:带有Theora视频编码和vorbis音频的Ogg文件 MPEG4:带有H.264视频编码和Acc音频编码的MPEG4文件 WebM:带有Vp8视频编码和Vorbis音频编码的WebM文件 control:供添加播放.暂停和音量控件 <video>标记允许多个"source"元素,"source元素可以链接不同的视频文件

关于iOS网络音频播放的一些详解

在日常的iOS开发中,我们通常会遇到媒体播放的问题,XCode中已经为我们提供了功能非常强大的AVFoundation框架和MediaPlayer框架.其中AVFoundation框架中的AVAudioPlayer主要用于播放本地音频,也可以播放网络音频,但是需要先将网络数据转化为data数据,用户体验较差,所有苹果公司提供了功能强大的AVPlayer用于播放网络音频(既流媒体),效果和可控性都比较好,现在就重点介绍下AVPlayer中网络音频的播放: 下边是一个简单的实例: OK,一个简单地音

详解 Redis 应用场景及应用实例

Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持. 1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memc

iOS疯狂详解之录制音频转换成Mp3

使用第三方 lame ,Mp3音频编码器. 使用 AVAudioRecorder 进行音频录制之前,进行参数设置: NSString *recordTemporaryPathString = [NSString stringWithFormat:@"%@/temporary",self.audioTemporarySavePath]; //LinearPCM 是iOS的一种无损编码格式,但是体积较为庞大 //录音设置 NSMutableDictionary *recordSetting

详解音频编解码的原理、演进和应用选型等

本文来自网易云音乐音视频实验室负责人刘华平在LiveVideoStackCon 2017大会上的分享,并由LiveVideoStack根据演讲内容整理而成(本次演讲PPT文稿,请从文末附件下载). 1.引言 大家好,我是刘华平,从毕业到现在我一直在从事音视频领域相关工作,也有一些自己的创业项目,曾为早期Google Android SDK多媒体架构的构建作出贡献. 就音频而言,无论是算法多样性,Codec种类还是音频编解码复杂程度都远远比视频要高.视频的Codec目前还主要是以宏块为处理单元,预

音频知识详解

引言 现实生活中,我们听到的声音都是时间连续的,我们称为这种信号叫模拟信号.模拟信号需要进行数字化以后才能在计算机中使用. 目前我们在计算机上进行音频播放都需要依赖于音频文件.音频文件的生成过程是将声音信息采样.量化和编码产生的数字信号的过程,人耳所能听到的声音,最低的频率是从 20Hz 起一直到最高频率 20KHZ,因此音频文件格式的最大带宽是 20KHZ.根据奈奎斯特的理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音,所以音频文件的采样率一般在 40

音频 属性详解(涉及采样率、通道数、位数、比特率、帧等)

[音频] 指人耳可以听到的声音频率在20HZ~20kHz之间的声波,称为音频. [采样频率] 即取样频率, 指每秒钟取得声音样本的次数.采样频率越高,声音的质量也就越好,声音的还原也就越真实,但同时它占的资源比较多.由于人耳的分辨率很有限,太高的频率并不能分辨出来. 22050 的采样频率是常用的, 44100已是CD音质, 超过48000或96000的采样对人耳已经没有意义.这和电影的每秒 24 帧图片的道理差不多. 如果是双声道(stereo), 采样就是双份的, 文件也差不多要大一倍. [