1 声音的物理性质
声音是波。声音是由物体震动而产生的,
声音的三要素
声波的三要素是 频率、振幅和波形。频率代表音阶的高低。
- 振幅代表响度。波形代表音色。
- 频率越高、波长越短,低频波长、容易绕过障碍物。
- 响度就是能量大小的反馈。分贝来描述响度
- 频率和振幅影响音色。频率范围 20HZ~20KHz。
2 数字音频
为了将模拟信号数字化,需要进行采样、量化和编码。采样是在时间轴上对信号进行数字话。需要对最高频率的2倍进行采样(采样定律) 量化:是在幅度轴上面进行对信号的数字话。例如16进制表示一个采样 编码:按照一定格式记录采样和量化后的数字数据,
音频编码
在音频采样数据的时候,如果放在CD上面,那么占用的存储空间是可以接受的,但是如果放在网络中实时传播的话,那么数据亮就会比较大,所以就必须要进行压缩编码 压缩编码的基本指标之一就是压缩比 压缩比通常小于1 否则没有必要压缩了
- 有损压缩:指解压后的数据不能完全复原,会丢失一部分信息,压缩比越小,丢书的信息越多
- 无损压缩,解压后数据可以完全恢复 用的比较多的是 有损压缩 压缩编码的原理是压缩掉冗余信号,冗余信号指的是不能被人耳感知到的信号
常用的压缩编码格式
- WAV编码 在PCM数据格式前加上44个字节,用来描述PCM的采样率、声道数、数据格式等信息 特点
音质非常好,大部分软件都支持
多媒体开发的中间文件、保存音乐和音效素材
- MP3编码 使用LAME编码的中高码率的MP3文件,听感接近WAV文件,音质在128kbit/s 表现还不错, 特点
大量软件都支持。对兼容性比较高的音乐欣赏
- ACC 编码 新一代有损压缩技术,只要用于低码率场景的编码 特点
在小于128kbit/s 编码表现游戏,多用于视频中的音频编码
- Ogg编码 在各种编码率都有比较优秀的表现,完全免费, 特点
比MP3 更小的码率实现比Mp3更好的音质,高中低表现良好,兼容性不好。适合语音
1.4 图像的物理现象
视频是由一幅副图像组成 三色光
红绿蓝无法被分解,所以称为三色光
屏幕中的每一个像素点都是有三个子像素点组成,每一个像素点都对应相应的RGB通道。
1.5 图像的数值表示
1.5.1 RGB表示方式
- 浮点表示:取指番位0.0~1.0 在OpenGl Es中每一个子像素点使用的就是这种
- 整数表示:取值范围。0~255 或者00~FF 8个比特表示一个子像素,32个字节表示一个像素。但是RGB565 16位字节表示一个像素。
YUV表示方式
对于视频帧的裸数据表示,更多的是YUV数据格式表示,YUV应用于优化彩色视频信号的传输,使其向后兼容老式黑白电视,优势是占用比较少的频宽。Y表示明亮度 U和V描述的是影像的色彩和饱和度。用于制定像素的颜色。 常用的YUV是4:2:0
1.5.2视频的编码方式
视频的压缩方式也是通过去除冗余信息来进行压缩的。使用帧间编码技术来去除时间上的冗余
- 运动补偿:运动补偿是通过先前的局部图像来预测、补偿当前的局部图像、是减少帧序列信息的有效方法
- 运动表示:不同的区域图像需要不同的运动矢量来描述运动信息
- 运动估计:运动估计是从视频序列中抽取运动信息的一整套技术,使用帧内编码技术可以去除空间上的冗余信息
1.5.3 编码概念
1.IPB帧 视频压缩中,每一帧代表一副静止的图像,进行压缩的时候会采取各种算法来减少数据的容量。
- I 帧:帧内编码帧,I帧是每个GOP的第一帧,经过适度压缩得到的,作为随机访问的参考点。I帧经过6:1压缩比而不会产生模糊。
- P帧:向前预测编码帧。通过将图像序列中已编码帧的时间冗余信息充分去来压缩传输数据量的编码图像。
- B帧 双向预测内插编码帧,既考虑源图像序列前面的已编码帧,又顾及图像序列后面的已编码帧之间的冗余信息。
PTS与DTS
PTS用于视频的解码,DTS用于视频的解码阶段进行视频的同步和输出,B帧会打乱编码和现实的顺序。大多数解码标准中,编码顺序和解码顺序是不一致的,所以需要两中时间戳。
GOP概念,
两个I帧之间就是GOP 由gop_size来设置。代表的是两个I帧之间的帧数目,GOP越大,画质会越来越好,多使用B帧,可以节省大量空间来使用I帧,这个码率相同的情况下会出现更好的画质。