第一章 音视频基础概念

目录
  • 序言
  • 声音的物理性质
  • 数字音频
  • 音频编码
  • 图像的物理现象
  • 图像的数值表示
  • 视频的编码方式
一 序言

音视频技术是为了记录,存储和回放声学现象才发明的。
当人类有了记录以及存储声音的能力后,就迎来了模拟信号数字信号的转换。

二 声音的物理性质
2.1 声音是波

声音是由物体振动而产生的。

声音是一种压力波,当演奏乐器、 拍打一扇门或者敲击桌面时,它们的振动都会引起空气有节奏的振动, 使周围的空气产生疏密变化,形成疏密相间的纵波(可以理解为石头落入水中激起的波纹),由此就产生了声波,这种现象会一直延续到振动 消失为止。

2.2 声波的三要素

声波的三要素是频率振幅波形

  • 频率代表音阶的高低
  • 振幅代表响度
  • 波形代表音色

分贝常用于描述响度的大小
波 的形状决定了其所代表声音的音色

2.3 声音的传播介质

声音的传播介质 很广,它可以通过空气、液体和固体进行传播;而且介质不同,传播的 速度也不同。

声音在真空中是无法传播的。

2.4 共鸣

声音的传播过程也是一种能量的传播过程。

三 数字音频

本节将分3个概念对数字音频进行讲解, 分别是采样量化编码

3.1 采样

所谓采样就是在时间轴上对信号进行数字化。根据奈奎斯特定理(也称为采样定 理),按比声音最高频率高2倍以上的频率对声音进行采样(也称为AD 转换)

对于高质量的音频信号,其频率范围(人耳 能够听到的频率范围)是20Hz~20kHz,所以采样频率一般为 44.1kHz

44.1kHz就是代表1秒会采样44100次。

3.2 量化

具体的每个采样又该如何表示呢?

这就涉及将要讲解的第二个概念:量化,量化是指在幅度轴上对信号进行数字化。

3.3 编码

既然每一个量化都是一个采样,那么这么多的采样该如何进行存储 呢?

这就涉及将要讲解的第三个概念:编码。所谓编码,就是按照一定的格式记录采样量化后的数字数据,比如顺序存储压缩存储等。

这里面涉及了很多种格式,通常所说的音频裸数据格式就是脉冲 编码调制(Pulse Code Modulation,PCM)数据。

描述一段PCM数据一 般需要以下几个概念:量化格式(sampleFormat)、采样率 (sampleRate)、声道数(channel)。

以CD的音质为例:
1.量化格式(有的地方描述为位深度)为16比特(2字节)
2.采样率为44100
3.声道数为 2

这些信息就描述了CD的音质。而对于声音格式,还有一个概念用来描述它的大小,称为数据比特率,即1秒时间内的比特数目,它用于衡 量音频数据单位时间内的容量大小。而对于CD音质的数据,比特率为 多少呢?计算如下

44100 * 16 * 2 = 1378.125kbps

分贝是用来表示声音强度的单位。所谓分贝是指两个相同的 物理量(例如,A1和A0)之比取以10为底的对数并乘以10(或20), 即:

N = 10 * lg(A1 / A0)
四 音频编码

压缩算法包括有损压缩和无损压缩。

根据不同的应用场景(包括存储设备、传输网络环境、播放设备 等),可以选用不同的压缩编码算法,如PCMWAVAACMP3Ogg等。

压缩编码的原理实际上是压缩掉冗余信号,冗余信号是指不能被人 耳感知到的信号,包含人耳听觉范围之外的音频信号以及被掩蔽掉的音 频信号等。

下面介绍几种常用的压缩编码格式。

WAV编码

WAV编码的一种实现(有多种实现方 式,但是都不会进行压缩操作)就是在PCM数据格式的前面加上44字节,分别用来描述PCM的采样率声道数数据格式等信息。

  • 特点:音质非常好,大量软件都支持。
  • 适用场合:多媒体开发的中间文件、保存音乐和音效素材。
MP3编码

MP3具有不错的压缩比,使用LAME编码(MP3编码格式的一种实 现)的中高码率的MP3文件,听感上非常接近源WAV文件。

  • 特点 音质在128Kbit/s以上表现还不错,压缩比比较高,大量软件和硬件都支持,兼容性好。
  • 适用场合 高比特率下对兼容性有要求的音乐欣赏。
AAC编码

AAC是新一代的音频有损压缩技术,它通过一些附加的编码技术 (比如PSSBR等),衍生出了LC-AACHE-AACHE-AAC v2三种 主要的编码格式。

  • 特点 在小于128Kbit/s的码率下表现优异,并且用于视频中的音 频编码。
  • 适用场合 128Kbit/s以下的音频编码,多用于视频中音频轨的编码。
Ogg编码

Ogg是一种非常有潜力的编码,在各种码率下都有比较优秀的表现,尤其是在中低码率场景下。

  • 特点 可以用比MP3更小的码率实现比MP3更好的音质,高中低码 率下均有良好的表现,兼容性不够好,流媒体特性不支持。
  • 适用场合 语音聊天的音频消息场景。
五 图像的物理现象

红绿蓝三种色光无法被 分解,故称为三原色光。

六 图像的数值表示
6.1 RGB表示方式

那么像素里面的子像素又该如何表 示呢?常用的表示方式有以下几种。

整数表示:取值范围为0255或者00FF,8个比特表示一个子像素,32个比特表示一个像素,这就是类似于某些平台上表示图像格式的 RGBA_8888数据格式。

对于一幅图像,一般使用整数表示方法来进行描述,比如计算一张 1280×720的RGBA_8888图像的大小,可采用如下方式:

1280 * 720 * 4 = 3.516MB

比如JPEG压缩:JPEG是 静态图像压缩标准,由ISO制定。

6.2 YUV表示方式

对于视频帧的裸数据表示,其实更多的是YUV数据格式的表示, YUV主要应用于优化彩色视频信号的传输,使其向后兼容老式黑白电 视。

RGB视频信号传输相比,它最大的优点在于只需要占用极少的频 宽(RGB要求三个独立的视频信号同时传输)。

Y 表示明亮度 (Luminance或Luma),也称灰阶值。
UV 表示的则是色度 (Chrominance或Chroma),它们的作用是描述影像的色彩及饱和度, 用于指定像素的颜色。

之所以采用YUV色彩空间,是因为它的亮度信号Y和色度信号UV分离的。

YUV最常用的采样格式是4:2:0,4:2:0并不意味着只有Y、Cb 而没有Cr分量。它指的是对每行扫描线来说,只有一种色度分量是以 2:1的抽样率来存储的。

相较于RGB,我们可以计算一帧为1280×720的视频帧,用YUV420P的格式来表示,其数据量的大小如下:

1280 * 720 * 1 + 1280 * 720 * 0.5 = 1.318MB
6.3 YUV和RGB的转化

凡是渲染到屏幕上的东西(文字、图片或者其 他),都要转换为RGB的表示形式。

七 视频的编码方式
7.1 视频编码

视频压缩也是通过去除冗余信息来进行压缩的。相较于音频数据,视频数据有极强的相关性,也就是说有大量的冗余信息,包括空间上的冗余信息和时间上的冗余信息。

使用帧间编码技术可以去除时间上的冗余信息,具体包括以下几个 部分。

  • 运动补偿 运动补偿是通过先前的局部图像来预测、补偿当前的局部图像,它是减少帧序列冗余信息的有效方法。
  • 运动表示 不同区域的图像需要使用不同的运动矢量来描述运动信息。
  • 运动估计 运动估计是从视频序列中抽取运动信息的一整套技术。

使用帧内编码技术可以去除空间上的冗余信息。

对于视频,ISO同样也制定了标准:Motion JPEG即MPEG,MPEG算法是适用于动态视频压缩算法。主要包括这样几个版本:Mpeg1(用于VCD)、 Mpeg2(用于DVD)、Mpeg4 AVC(现在流媒体使用最多的就是它 了)。

相比较于ISO制定的MPEG的视频压缩标准ITU-T制定的H.261H.262H.263H.264一系列视频编码标准是一套单独的体系。

现在使用最多的就是 H.264标准,H.264创造了多参考帧多块类型整数变换帧内预测等新的压缩技术。

7.2 编码概念
IPB帧
  • I帧 帧内编码帧(intra picture),I帧通常是每个GOP(MPEG所 使用的一种视频压缩技术)的第一个帧,经过适度地压缩,作为随机访问的参考点,可以当成静态图像。

I帧可以看作一个图像经过压缩后的产物,I帧压缩可以得到6:1的压缩比而不会产生任何可觉察的模糊现 象。

I帧压缩可去掉视频的空间冗余信息,属于帧内编码技术。

  • P帧 前向预测编码帧(predictive-frame),通过将图像序列中前 面已编码帧的时间冗余信息充分去除来压缩传输数据量的编码图像,也称为预测帧

  • B帧 双向预测内插编码帧(bi-directional interpolated prediction frame),既考虑源图像序列前面的已编码帧,又顾及源图像序列后面 的已编码帧之间的时间冗余信息,来压缩传输数据量的编码图像,也称为双向预测帧

基于上面的定义,我们可以从解码的角度来理解IPB帧。

  • I帧自身可以通过视频解压算法解压成一张单独的完整视频画面,
    所以I帧去掉的是视频帧在空间维度上的冗余信息。
  • P帧需要参考其前面的一个I帧或者P帧来解码成一张完整的视频画
    面。
  • B帧则需要参考其前一个I帧或者P帧及其后面的一个P帧来生成一 张完整的视频画面,所以P帧与B帧去掉的是视频帧在时间维度上的冗 余信息。

IDR帧与I帧的理解

  • IDR帧 就是一种特殊的I帧
  • 在解码器中,一旦收到一个IDR帧,就会立即清理参考帧缓冲区,并将IDR帧作为被参考的帧。
PTS与DTS

DTS主要用于视频的解码,英文全称是Decoding Time Stamp,
PTS主要用于在解码阶段进行视频的同步输出,全称Presentation Time Stamp。

在没有B帧的情况下,DTSPTS的输出顺序是一样的。

FFmpeg中使用AVPacket结构体来描述解码前或编码后的压缩数据,用AVFrame结构体来描述解码后或编码前的原始数据。

对于视频来说,AVFrame就是视频 的一帧图像,这帧图像什么时候显示给用户,取决于它的PTSDTSAVPacket里的一个成员,表示该压缩包应该在什么时候被解码

GOP的概念

两个I帧之间形成的一组图片,就是GOP(Group Of Picture)的概 念。通常在为编码器设置参数的时候,必须要设置gop_size的值,其代 表的是两个I帧之间的帧数目

在提高视频质量的技巧中,还有个技巧是多使用B帧

一般来说,I的压缩率是7(与JPG差不多),P是20,B可以达到50,可见使用B帧能节省大量空间。

结合IPB帧和图1-11,相信大家能够更好地理解PTS与DTS的概念。

image.png

本文是对音视频开发进阶指南书籍的总结。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容

  • 音视频之所以叫音视频是因为他由音频和视频构成,我们平时看的视频其实就是音视频。本文将记录笔者在学习音视频遇到的概念...
    Seacen_Liu阅读 3,039评论 1 3
  • 本文中涉及到的一些编码,图像等的具体处理在代码上的体现可查看:[总结]视音频编解码技术零基础学习方法 基本概念-颜...
    哈库呐玛塔塔__阅读 593评论 0 0
  • 前言 早在之前就对音视频开发这块儿比较感兴趣,但是一直没有下定决心学习,一个是觉得这块儿很难,二是感觉自己没有时间...
    CoderP1阅读 1,308评论 2 12
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 5,701评论 0 5
  • 城空了,有树长出来 我的城死了 铸起它的人,杀死它的人 不愿因为这件事而骄傲 一座城的终结 永远因为终结这件事而显...
    于十六阅读 2,850评论 6 17