【音视频进阶开发指南笔记-6】音视频基础概念

1. 声音的物理性质

声音是一种波,由物体振动而产生

三要素:频率(音阶)、振幅(响度)、波形(音色)

传播介质:空气、液体、固体

回声:两种声音传到我们的耳朵里的时差小于80毫秒,我们就无法区分这两种声音了

共鸣:声音传播可以带动另一个物体振动

2. 数字音频

采样:按声音最高频率的2倍以上的频率对声音进行采样,就不会失真了。所以,20Hz-20kHz的采样频率为44.1kHz

量化:在幅度轴上对信号进行数字化。是用16bit还是8bit位来表示

编码:按一定的格式记录采样和量化后的数字数据。

PCM(脉冲编码调制):量化格式、采样率、声道数。数据比特率:16 * 44100 *  2 = 1378.125kbps

麦克风中碳膜,在振动的时候会接触电极,接触时间的长短和频率(1s钟接触多少次)与声波的振动幅度和频率有关。

分贝:表示声音强度,dB = 10 * lg(A1 / A0),A0表示参考量

3. 音频编码

压缩比,有损压缩和无损压缩

压缩编码:压缩掉冗余信号:人耳听觉范围之外的音频信号和被掩蔽掉的音频信号(频域掩蔽效应和时域掩蔽效应)

压缩编码格式

1. WAV编码:不进行压缩操作,只在PCM的前面加上44字节,用来描述PCM的采样率、声道数、数据格式等。
2. MP3编码:用LAME编码
大于128Kbit/s表现好,用于音乐欣赏
3. AAC编码:LC-AAC(大于80Kbit/s)、HE-AAC(小于80Kbit/s)、HE-AAC v2(小于48Kbit/s)
小于128Kbit/s的场景表现好,多用于视频音轨编码
4. Ogg编码:更小码率比MP3更好音质,兼容性不够好,流媒体特性不支持
用于语音聊天场景

4. 图像的物理现象

三原色光:红绿蓝;等量的三原色光变为白光

光的反射,使我们可以看到物体

手机屏幕是自发光的,一个像素点对应RGB三个子像素点

5. 图像的数值表示

RGB表示方式
1. 浮点表示:0.0 ~ 1.0,每个子像素点
2. 整数表示:8比特表示一个子像素点:0~255

YUV表示方式
1. Y表示明亮度或者灰阶值;只有Y则是黑白灰阶图像,为了兼容黑白电视
2. U和V表示色度,描述影像的色调和饱和度
3. 防止信号变动造成过载,Y取值为16~235,UV取值为16~240
4. RGB -> YUV存储运输 -> RGB显示,它们之间可以进行转换
5. YUV420:
   Y1U1 Y2 Y3U3 Y4
   Y5V5 Y6 Y7V7 Y8
   的形式来进行存储,四个像素点共用一个UV,节省一半的空间
6. 存储格式
   1. planar  平面格式:所有Y/所有U/所有V
      1. YUV420P
         1. YV12:先Y再V后U
         2. YU12:先Y再U后V
      2. YUV420SP
         1. NV12:先Y然后UV,UV交替存储,IOS中的模式
         2. NV21:先Y然后VU,VU交替存储,android中的模式
   2. packed  打包模式:每个像素点的YUV交替存储

6. 视频的编码方式

视频编码
1. 时间上去冗余:使用帧间编码技术
   1. 运动补偿:通过先前的局部图像来预测、补偿当前的局部图像
   2. 运动表示:不同区域的图像需要使用不同的运动矢量来描述运动信息
   3. 运动估计:从视频序列中抽取运动信息的一整套技术
2. 空间上去冗余:利用帧内编码技术,如JPEG
3. ISO标准:Motion JPEG就叫MPEG:MPEG1(VCD)MPEG2(DVD)MPEG4 AVC(mp4)
4. ITU-T:H.261、H.262、H.263、H.264、H.265(HEVC)

编码概念
1. I帧:帧内编码帧,完整帧,每个GOP的第一个帧,其压缩是去掉空间上的冗余信息
2. P帧:前向预测编码帧,将前面已经编码的帧的时间冗余信息去掉
3. B帧:双向预测内插编码帧,前面和后面的冗余信息都去掉
4. PTS:帧的显示时间戳:那么多帧,先显示谁,后显示谁
5. DTS:帧的解码时间戳:那么多帧,先解码谁,后解码谁
6. GOP:两个I帧之间形成的一组图片,gop_size:两个I帧之间的帧数目
posted @ 2021-05-30 21:34  pyjetson  阅读(227)  评论(0编辑  收藏  举报