首页 > 编程知识 正文

《Android 音视频开发》笔记 - 音视频基础知识

时间:2023-05-04 03:10:53 阅读:200078 作者:4392

视频编码 MPEG系列(Moving Picture Experts Group,运动图像专家组) MPEG1:VCD用MPEG2:DVD用,但DVD音频没有采用MPEGMPEG4:DVDRIP使用的是它的变种,DivX、XviDMPEG4 AVC还有音频编码方面的, MPEG Audio Layer 1/2、MPEG Audio Layer 3(mp3)、MPEG-2 AAC、MPEG-4 AAC等。 H.26X系列 H.261、H.262、H.263、H.263+、H.263++、H.264、H.265 音频编码 AAC,即Advanced Audio Coding 高级音频编码

    一种专为声音数据设计的文件压缩格式;
    在感觉声音质量没有明显降低的情况下,可使文件更加小巧。
    优点:相对于MP3,AAC格式的音质更佳,文件更小;
    缺点:AAC属于有损压缩格式,与APE、FLAC等无损压缩格式相比音质存在差距。

MP3

    Moving Picture Experts Group Audio Layer III ,动态影像专家压缩标准音频层面3
    一种音频压缩技术;
    被用来大幅降低音频数据量;
    利用MP3技术,将音乐以1:10甚至1:12的压缩率,压缩成容量小的文件,重放的音质与最初的不压缩音频相比没有明显下降;
    利用人耳对高频声音信号不敏感的特性,将时域波形信号转换成频域信号,并划分多个频段,对不同的频段使用不同的压缩率,对高频信号使用大压缩率(甚至忽略信号),对低频信号使用小压缩率,保证信号不失真;相当于抛弃了人耳基本听不到的高频声音,只保留能听到的低频部分。

AC3

    Audio Coding Version 3
    有损音频编码格式
    广泛应用于5.1声道
    应用于激光唱片和DVD:384 - 448 kb/s的码率
    应用于电影院:640 kb/s的码率

    5个全频域声道 + 1个超低音声道组成,被称为5.1声道;
    5个全频域声道:左前、中央、右前、左后、右后
    超低音声道:提供一些额外的低音信息,使一些场景(如爆炸、撞击等)的声音更好。

名词术语 帧率 Frame Rate

    是用于测量显示帧数的量度。
    测量单位:每秒显示帧数(frames per second, fps)或赫兹( Hz )
    每秒显示帧数fps或帧率表示图像处理器处理场时每秒能更新的次数。
    高频率可以得到更流畅、更逼真的动画。30fps就是可以接受的,但是将性能提升至60fps则可以明显提升交互感和逼真感,但是超过75fps就不容易察觉有明显的流畅度提升。
    如果帧率超过屏幕刷新率,则只会浪费图象处理能力,因为监视器不能以这么快的速度更新,这样超过刷新率的帧率就浪费掉了。

从网上找了个查看屏幕刷新帧率的地址:https://www.testufo.com/
来自博文:手机刷新率测试网站

刷新率

    指屏幕每秒画面被刷新的次数;
    刷新率分垂直刷新率水平刷新率,一般提到的刷新率通常指垂直刷新率。
    垂直刷新率表示屏幕上图象每秒重绘多少次,也就是每秒屏幕刷新的次数,以赫兹Hz为单位。
    刷新率越高,图象越稳定,越自然清晰,对眼睛的影响越小;
    刷新率越低,图象闪烁和抖动得就越厉害,眼睛疲劳得就越快。
    一般来说,如能达到80Hz以上的刷新率,就可以完全消除图象闪烁和抖动感,眼睛也不太容易疲劳。

码率

视频:
    码率也就是比特率,比特率的单位是单位时间播放连续的媒体(如压缩后的音频或者视频)的比特数量。
    比特率越高,带宽消耗得越多。
    比特(bit)就是2进制里面最小的单位,0 / 1
    文件大小(b) = 码率(b/s) * 时长(s)
     计算示例:
          假设码率为800kbps,1s会产生多大的文件呢?
          800kbps * 1s = 800kb = 100kB = 0.1MB
          以该方式换算的话:1MB = 1000kB = 8000kb

音频:
    采样率 x 采样大小 x 声道数
     采样率:44.1KHz、采样大小:16bit、双声道的PCM编码的WAV文件
     码率为:44.1K x 16 x 2 = 1411.2 Kb/s

分辨率

    视频成像产品所形成的图象大小或尺寸

编码格式

    编码的目的是压缩数据量,采用编码算法压缩冗余数据。
    MPEG ( MPEG-2 、MPEG-4)
    H.26X ( H.263、H.264、H.265 )

封装格式

    把编码后的音视频数据以一定格式封装到一个容器,封装格式有:MKV、AVI、TS等

画质与码率

    码率越大,画质越好,视频越流畅??错误!
    视频质量和码率、编码算法都有关系

DTS 与 PTS

    DTS:
        Decode Time Stamp,主要用于标示读入内存中的比特流在什么时候送入解码器中进行解码。
    PTS:
        Presentation Time Stamp,主要用于度量解码后的视频帧什么时候被显示出来。

YUV 与 RGB

    颜色空间模型YUV 与 RGB
    YUV
        是被欧洲电视系统所采用的一种颜色编码方法(属于PAL),是PAL和SECAM模拟彩色电视制式采用的颜色空间模型;
        Y:亮度
        UV:色差,U和V是构成颜色的两个分量

    RGB
        是一种颜色空间模型,通过对红R、绿G、蓝B 3个颜色通道的变化以及他们相互之间的叠加来得到各式各样的颜色,RGB即代表红绿蓝3个通道的颜色

视频帧(I/P/B帧)和音频帧 视频帧:I P B帧

    I帧:关键帧,可以理解为这一帧画面的完整保留,解码时只需要本帧数据就可以完成(因为包含完整画面)
    I帧特点:
         1)它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码后传输。
         2)解码时仅用I帧的数据就可以重构完整图像。
         3)I帧描述了图像背景和运动主体的详情
         4)I帧不需要参考其它画面生成
         5)I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量)
         6)I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧。
         7)I帧不需要考虑运动矢量
         8)I帧所占数据的信息量比较大

    P帧:这一帧和之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别生成最终画面(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据)
    P帧的预测与重构:P帧以I帧为参考帧,在I帧中找出P帧“某点”的预测值和运动矢量,去预测差值和运动矢量一起传送。接收端根据运动矢量从I帧中找出P帧“某点”的预测值并与差值相加以得到P帧“某点”的样值,从而得到完整的P帧。
    P帧特点:
        1)P帧是I帧后面相隔一两帧的编码帧
        2)P帧采用运动补偿的方法传送它与前面的I帧或P帧的差值及运动矢量(预测误差)
        3)解码时必须将I帧的预测值与预测误差求和后才能重构完整的P帧图像
        4)P帧属于前向预测的帧间编码。它只参考前面最靠近它的I帧或P帧。
        5)P帧可以是其后面P帧的参考帧,也可以是其前后B帧的参考帧
        6)由于P帧是参考帧,所以它可能造成解码错误的扩散
        7)由于是差值传送,所以P帧的压缩率比较高

    B帧:双向差别帧,也就是B帧记录的是本帧和前后帧等差别,要解码B帧,不仅要得到之前的缓存画面,还要解码之后的画面,通过前后画面数据与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较吃力。
    B帧的预测与重构:B帧以前面的I帧或P帧和后面的P帧作为参考帧,“找出”B帧“某点”的预测值和两个运动矢量,并取预测差值和运动矢量传送。接收端根据运动矢量从两个参考帧中“找出(算出)”预测值并与差值求和,得到B帧“某点”的样值,从而得到完整的B帧。
    B帧特点:
        1)B帧是由前面的I帧或P帧和后面的P帧来进行预测的
        2)B帧传送的是它与前面的I帧或P帧和后面的P帧之间的预测误差及运动矢量
        3)B帧是双向预测编码帧。
        4)B帧压缩率最高,因为它只反应两参考帧间运动主体的变化情况,预测比较准确。
        5)B帧不是参考帧,不会造成解码错误的扩散。

    可以简单理解为,1帧就是编码后的一幅图像。
    I帧的压缩率是7,P帧是20,B帧是50.

音频帧:

    PCM:未经编码的音频数据,它根本就不需要帧的概念,根据采样率和采样精度就可以播放。
        数据量大小(b/s) = 采样率(Hz) X 采样位数bit X 声道数

        比如采样率为44.1kHz,采样精度为16位的音频,单声道,1s的数据量大小为:
        44.1 * 1000 * 16 * 1 = 705600 b = 88200 B = 88.2kB = 0.0882 MB

    ARM:它规定每20ms的音频为1帧,每一帧音频都是独立的,有可能采用不同的编码算法以及不同的编码参数。

    MP3:帧比较复杂一些,包含了更多的信息,比如采样率、比特率等各种参数。音频数据帧个数由文件大小和帧长决定,每一帧的长度可能不固定,也可能固定,有比特率决定,每一帧又分为帧头和数据实体两部分,帧头记录了MP3的比特率、采样率、版本等信息,每一帧之间相互独立。

GOP,Group Of Picture图像组

    两个I帧之间的帧的数目。
    增加GOP的长度,整个视频的I帧数目将会减少,由于I帧在编码数据上比P帧大,因此更长的GOP能够有效的减少视频编码数据的量,进而减少带宽和存储内存占用。

采样大小 / 量化精度

    可以将模拟信号分成多少个等级,量化精度越高,音乐的声压振幅越接近原音乐。
    量化精度的单位为bit(比特),CD标准的量化精度为16bit,DVD标准的量化精度为24bit。
    可以理解为一个采样点用多少bit表示(8/16/24/32bit)

采样率(Hz)

    指每秒音频采样点个数(如:8KHz、16KHz、32KHz、44.1KHz、48KHz),采样率的单位是:Hz赫兹
20Hz以下为次声波,20000Hz以上为超声波。

声道

    指声音在录制或播放时在不同空间位置采集或者回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。

    常见声道:单声道、立体声道、4声道、5.1声道、7.1声道等
    单声道:设置一个扬声器
    立体声道:把单声道一个扬声器扩展为左右对称的两个扬声器。声音在录制过程中被分配到两个独立的声道,从而达到很好地声音定位效果。
    4声道:4声道环绕规定了4个发音点,分别是前左、前右、后左、后右,听众则被包围在中间。同时还建议增加一个低音音箱,以加强对低频信号的回放效果(4.1声道音箱系统)
    5.1声道:来源于4.1声道;5个全频域声道 + 1个超低音声道组成;5个全频域声道(左前、中央、右前、左后、右后);超低音声道(提供一些额外的低音信息)

    7.1声道:在5.1声道系统的基础上增加了中左、中右两个发音点

声音

声音是由物体振动产生的;可以通过空气、固体、液体等进行传输;振动鼓膜。

听觉频率范围(Hz)发声频率范围(Hz)人20 - 2000085 - 1100狗15 - 50000452 - 1800猫60 - 65000760 - 1500蝙蝠1000 - 12000010000 - 12000鲸鱼150 - 1500007000 - 120000

20Hz以下为次声波,20000Hz以上为超声波。

声音三要素

音调:音频的快慢
音量/响度:震动的幅度,人耳感受到的声音的强弱;同一声源,传播的越远,音量/响度越小;当距离一定时,振幅越大,音量/响度越大。
音色:谐波

分贝

http://green.sohu.com/20100628/n273130696.shtml

参考:

    《Android 音视频开发》何俊林
     手机刷新率测试网站

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。