一、数字音频
数字音频可以粗糙的理解为将本质是模拟信号的声音音频数字化,那么如何数字化呢,需要经过三个步骤:采样、量化和编码。
采样:将声音的振动信息转化为电信号,再对电信号进行放大处理得到声音的模拟信号,再对声音的模拟信号(初中物理的声音振幅图)进行采样就是在时间轴上对模拟信号进行高频率的抽取。把时间连续的模拟信号转换成时间离散、声音幅度连续的信号(相当于把折线图拆分成高度密集的柱状图)。一般都是每隔相等的一小段时间采样一次,其时间间隔称为采样周期(柱之间的间隔),倒数称为采样频率。
根据奈奎斯特定理(即采样),按照比声音最高频率高两倍以上的频率对声音进行采样。人耳可以识别的声音频率范围是20HZ和20KHZ,所以为了让人可以听到听觉上高质量的音频,我们的采样频率一般为44.1KHZ,这样可以让人耳听到的声音质量不会有被降低的感觉。采样频率越高,可恢复的声音信号越丰富,其声音的保真度越好。
量化:把幅度上连续取值(模拟量)的每一个样本转换为离散值(数字值)表示(可以理解为对柱状图进行量化深度的横切),因此量化过程又是也称为A/D转换(模数转换)。量化后的样本是用若干位二进制数来表示的,位数的多少反映了度量声音波形幅度的精度,称为量化精度,也称为量化分辨率,也叫量化深度或者说位深度。
举例:每个声音样本的振幅幅度若用16位比特表示,16比特即两个字节,一个short,所表示的范围是[-32768,32767],共有65536个可能的取值,因此深度是65536,精度是1/65536,精度高;若只用8位表示,则样本的取值范围是0~255,深度是255,精度是1/256。精度低。
量化精度越高,所能表示的声音振幅就越丰富,声音的质量越好,需要的存储空间也就越多;量化精度越低,声音质量越差,而需要的存储空间也越少。
声道数:记录声音时,如果每次生成一个声波数据,称为单声道;每次生成两个声波数据,称为双声道。使用双声道记录声音,个人理解是采用不同位置接收到的两个声波,能够在一定程度上再现声音的方位,反映人耳的听觉特性。
数字音频存储大小:采样频率、量化深度数越高,声音质量也越高,保存这段声音所用的空间也就越大。立体声(双声道)存储大小是单声道文件的两倍。即:文件大小(B)=采样频率(Hz)×录音时间(S)×(量化深度/8)×声道数(单声道为1,立体声为2)
如:录制1分钟采样频率为44.1KHz,量化深度为16位,立体声的声音(CD音质),文件大小为:44.1×1000×60×(16/8)×2=10584000B≈10.09MB
编码:编码是按照一定格式记录采样和量化后的数字数据,比如顺序存储或者压缩存储等。
这里面涉及了很多种音频数据的编码存储格式,通常所说的音频的裸数据格式就是脉冲编码调制(PCM)格式数据。描述一段PCM数据一般需要一下几个概念:量化格式(sampleFormat)或者说位深度或者说量化深度、采样率(sampleRate)、声道数(channel)。
这几个概念也是用来描述判断声音的音质的指标。比如描述一段CD音质:该CD的位深度是16比特(2个字节)、采样率为44100、声道数为2。
上述的数字音频存储大小,其实不是一个用来衡量音频大小的标准指标。对于声音格式常用数据比特率来描述声音的大小,即1S内声音对应的比特数目。
数据比特率:CD音质的数据比特率是:44.1KHZx2Bx2x1s=176.4KBPS。接下来在用数据比特率x60s就同样得到1min音频的存储容量,是约10.1MB。符合奈奎斯特定理的CD音质的音频一般被视作“无损音频”。
压缩编码:上述1min的音频就要占据10.1MB的存储空间,耗费10.1MB的网络流量,很直观的发现存储代价和网络传输的代价都有点高,因此我们需要对音频进行压缩。那怎么进行压缩呢?其实也是通过编码技术对音频进行压缩的,这种编码叫做压缩编码。
压缩编码的重要指标直观可见是压缩比,理所当然它需要小于1。
压缩算法包括有损压缩和无损压缩。
无损压缩是指解压缩后声音可以和压缩前的声音完全一致,也就是说完全复原。
在常用的压缩格式中,用的较多的方法是有损压缩,也就是说会丢失声音的一部分信息然后无法完全复原。往往压缩比越多,丢失的信息也就越多,信号还原后的失真也会越高。
因此根据不同的应用场景(存储设备(手机和服务器)、传输网络环境(国内和国外)、播放设备(手机和服务器)等),可以采用不同的压缩编码算法,如PCM、WAV、AAC、MP3、Ogg等,尽量的压缩掉冗余信号(即不能被人耳感知到的信号,包括人耳听觉范围之外的音频信号以及被掩蔽掉的音频信号等),从而尽可能让 可以在声音复原时减少失真的必要信息 丢失最少。
下面介绍几种常用的压缩编码格式:
(1)WAV编码
PCM(脉冲编码调制)是Pulse Code Modulation的缩写。WAV编码的一种实现(哪种WAV实现都不会进行压缩操作)就是在PCM的数据格式前面加上44字节,分别用来描述PCM的采样率、声道数、量化格式等信息。
- 特点:音质非常好,大量软件都支持。
- 适用场合:多媒体开发的中间文件、保存音乐和音效素材。
理解PCM数据的参考链接:PCM数据格式介绍_SuperLi-CSDN博客
(2)MP3编码
MP3编码具有不错的压缩比,使用LAME编码(MP3编码格式的一种实现)的中高码率的MP3文件,听感上非常接近源WAV文件。在不同的应用场景下,需要调整合适的参数来达到最好的效果。
- 特点:音质在16KB/s以上表现还不错,压缩比比较高,大量软件和硬件都支持,兼容性好。
- 使用场合:高比特率下对兼容性有要求的音乐欣赏。
(3)AAC编码
AAC是新一代的音频的有损压缩技术。它通过一些附加的编码技术(比如PS、SBR等),衍生出了LC-AAC、HE-AAC、HE-AAC v2三种主要的编码格式。
LC-AAC是比较传统的AAC,主要应用于中高码率场景的编码(>=10kB/s);
HE-AAC(相当于AAC+SBR)主要应用于中低码率场景的编码(>=10kB/s);
HE-AAC v2(相当于AAC+SBR+PS)主要应用于低码率场景的编码(<=6KB/s)。
事实上,大多数编码器在(<=6KB/s)时自动使用PS技术,而大于这个值则不加PS,相当于普通的HE-AAC。
- 特点:在小于16KB/s的码率下表现优异;
- 场合:多是用于视频中音频轨的编码。
(4)OGG编码
OGG很有潜力,算法出色,可以用更小的码率达到更好的音质,16KB/s的OGG编码比码率为24KB/s的码率更高的MP3编码质量还好。
- 特点:可以用比MP3更小的码率实现比MP3更好的音质,高中低码率下均有良好的表现,问题是对硬件或者软件的兼容性不够好,也就是说不是所有的芯片和软件算法都兼容了OGG算法;另外由于目前还没有媒体服务软件的支持,所以基于OGG的数字广播无法实现,因此不具备流媒体特性。
- 适用场合:语音聊天的音频消息场景。
二、图像
视频由一幅幅图像构成,所以先学习图像。
白光可以被分解为红绿蓝三种无法再被分解的光,所以红绿蓝三种色光被称为三原色光。白光中含有等量的红光(R),绿光(G),蓝光(B)。
三、视频