【音视频】音视频基础概念
日常生活中,音视频随处可见,但从技术角度来看,音视频到底是什么呢?这个问题涉及几个专业概念,包括视频、音频、编解码、封装容器、音视频等。
二、 音视频基础概念
日常生活中,音视频随处可见,但从技术角度来看,音视频到底是什么呢?这个问题涉及几个专业概念,包括视频、音频、编解码、封装容器、音视频等。
2.1 视频
2.1.1 动画书
不知道读者小时候是否玩过一种动画小人书,连续翻动的时候,小人书的画面就会变成一个动画,类似现在的gif格式图片(翻动速度一定要够快),如图2-5所示。本来是一本静态的小人书,通过翻动以后,就会变成一个有趣的小动画,如果画面够多,翻动速度够快,这其实就是一个小视频。
视频的原理正是如此,由于人类眼睛的特殊结构,在画面快速切换时,画面会有残留(视觉暂留),感觉起来就是连贯的动作,所以视频本质上就是由一系列图片构成的
2.1.2 视频
视频(Video)技术泛指将一系列静态影像以电信号的方式加以捕捉、记录、处理、存储、传送与重现的各种技术。当连续的图像变化超过每秒24帧画面以上时,根据视觉暂留原理,人眼无法辨别单幅的
静态画面,看上去是平滑连续的视觉效果,这样连续的画面叫作视频。
视频技术最早是为了电视系统而发展的,但现在已经发展为各种不同的格式以方便消费者将视频记录下来。网络技术的发达也促使视频的记录片段以串流媒体的形式存在于因特网上并可被计算机接收与播放。拍摄视频与拍摄电影属于不同的技术,后者是利用照相术将动态的影像捕捉为一系列的静态照片。常见的视频格式有AVI、MOV、MP4、WMV、FLV、MKV等。
2.1.3 视频帧
帧(Frame)是视频的一个基本概念,表示一幅画面,如上面的翻页动画书中的一页就是一帧。一段视频是由许多帧组成的。
2.1.4 帧率
帧率即单位时间内帧的数量,单位为f/s。如动画书中,一秒内会翻过多张图片,翻过的图片越多,画面越顺滑,过渡越自然。
帧率一般有以下几个典型值。
(1)29.97f/s:1秒30 000/1001帧。
(2)24f/s或25f/s:1秒24或25帧,一般的电视/电影帧率。
(3)30f/s或60f/s:1秒30或60帧,游戏的帧率,30帧可以接受,60帧会感觉十分流畅。
一般来讲,85f/s以上人眼基本无法察觉出来画面过渡了,所以过高的帧率在普通视频里没有太大的意义。
2.1.5 色彩空间
这里只讲常用的两种色彩空间(也叫颜色空间、颜色模式), 即 RGB和YUV。
RGB色彩空间应该是最常见的一种 ,在现在的电子设备中应用广泛。通过R、 G、 B这3种基础色,可以混合出所有的颜色。
YUV色彩空间并不常见 ,这是一种亮度与色度分离的色彩空间。 早期的电视都是黑白的, 即只有亮度值Y。有了彩色电视以后 ,加入 了U、 V两种色度 ,形成现在的YUV ,也叫YCbCr。其中Y表示明亮度 ( Luminance或Luma) ,也就是灰度值, 而U和V表示的则是色度 ( Chrominance或Chroma) ,其作用是描述影像色彩及饱和度 ,用 于指定像素的颜色。
亮度是通过RGB输入信号来建立的 ,其方法是将RGB信号的特定 部分叠加到一起。
色度定义了颜色的两个方面 ,即色调与饱和度 ,分别用Cr和Cb来 表示。其中 ,Cr反映了RGB输入信号红色部分与RGB信号亮度值之间 的差异 ,而Cb反映的是RGB输入信号蓝色部分与RGB信号亮度值之间 的差异。
YUV的含义如下。
(1) Y:亮度, 即灰度值。 除了表示亮度信号外 ,还含有较多的绿 色通道量。
(2)U:蓝色通道与亮度的差值。
(3)V:红色通道与亮度的差值。
2.1.6 YUV的优势
人眼对亮度敏感 ,但对色度不敏感, 因此减少部分UV的数据量, 人眼却无法感知出来 ,这样可以通过压缩UV的分辨率 ,在不影响观感的前提下,减小视频的大小。
YUV主要用于优化彩色视频信号的传输 ,使其向后兼容老式黑白 电视。与RGB视频信号传输相比, 它最大的优点在于只需占用极少的 频宽(RGB要求3个独立的视频信号同时传输。
采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、 V是 分离的。如果只有Y信号分量而没有U、 V分量 ,则表示的图像就是黑 白灰度图像。彩色电视采用YUV色彩空间正是为了用亮度信号Y解决 彩色电视机与黑白电视机的兼容问题 ,使黑白电视机也能接收彩色电 视信号。
2.1.7 RGB和YUV的换算
未量化的 Y、 U、 V取值一般是(0, 255) ,量化就是通过线性变换 让 Y、 U、 V处 于 一 定 的 范 围 内, 例 如 让 Y(0, 255) 变 到 量 化 后 的 Y′(16,235),那么对应的变换公式是Y′= Y×[(235-16)/255]+16。
YUV和RGB之间的转换有以下公式。
1)未量化的小数形式转换公式
或写为
2)未量化的整数形式转换公式
3)量化后的转换公式
其中, R ′、 G ′、 B ′指带有Gamma矫正后的R、 G、 B。
2.2 音频
2.2.1.基本知识
音频数据的承载方式最常用的是脉冲编码调制 ,即PCM。在自然 界中 ,声音是连续不断的 ,是一种模拟信号 ,怎样才能把声音保存到 计算机中呢? 目前最常用的办法是把声音进行数字化处理, 即转换为 数字信号,然后存储到磁盘。
声音是一种波 ,有振幅和频率 ,所以要保存声音 ,就要保存声音 在各个时间点上的振幅 ,但数字信号并不能连续保存所有时间点的振
幅 ,事实上 ,并不需要保存连续的信号也可以还原出人耳可接受的声 音。
根据奈奎斯特采样定理 ,为了不失真地恢复模拟信号 ,采样频率 应该不小于模拟信号频谱中最高频率的2倍。根据以上分析, PCM的 采集分为以下步骤:
模拟信号→采样→量化→编码→数字信号
音频是一个专业术语 ,人类能够听到的所有声音都称为音频, 它 可能包括噪声。声音被录制下来以后 ,无论是说话声、歌声、乐器声 都可以通过数字音乐软件处理。例如 ,把它制作成CD ,这时候所有的 声音没有改变,因为CD本来就是音频文件的一种类型。
2.2.2.采样率和采样位数
采样率, 即采样的频率。上面提到 ,采样率要大于原声波最高频 率的2倍 ,人耳能听到的最高频率约为20kHz ,所以为了满足人耳的 听觉要求 ,采样率至少应为40kHz ,通常为44.1kHz ,更高的频率通 常为48kHz。
注意:人耳听觉频率范围为[20Hz,20kHz]。
采样位数涉及上面提到的振幅量化。波形振幅在模拟信号上是连 续的样本值 ,而在信号中 ,数字信号一般是不连续的 ,所以模拟信号 量化以后 ,只能取一个近似的整数值。为了记录这些振幅值 ,采样器 会使用一个固定的位数,通常是8位、16位或32位,如表2-1所示。
注意 :位数越多 ,记录的值越准确 ,还原度越高 ,但是占用的硬 盘空间越大。
表2-1 音频采样位数
2.2.3音频编码
由于数字信号是由0和1组成的, 因此 ,需要将幅度值转换为一系 列0和1进行存储 ,也就是编码 ,最后得到的数据就是数字信号 ,即一 连串0和1组成的数据。
音频编码是指要在计算机内播放或者处理音频文件 ,也就是要对 声音文件进行数、模转换 ,这个过程同样由采样和量化构成 ,人耳所 能听到的声音 ,最低的频率是20Hz ,而最高频率为20kHz。 20kHz以 上的声音人耳是听不到的, 因此音频文件格式的最大带宽是20kHz, 所以采样速率需要介于40Hz~50kHz ,而且对每个样本需要更多的量 化位数。
音频数字化的标准是每个样本16位-96dB的信噪比 ,采用线性脉 冲编码调制(PCM) ,每个量化步长都具有相等的长度。在音频文件的 制作中,采用的正是这个标准。
音频的数字化编码过程如图2-7所示。
图2-7 音频的数字化编码过程
2.2.4 声道数
声道数是指所支持的能发不同声音的音响的个数, 常见的声道数 如下。
(1)单声道:1个声道。
(2)双声道:两个声道。
(3)立体声道:默认为两个声道。
(4)立体声道(4声道):4个声道。
2.2.5.码率
码率指一个数据流中每秒能通过的信息量,单位为b/s,可以用以 下公式计算:
2.2.3 音视频编码
这里的编码和上面音频中所提到的“数字化编码 ”不是同一个概 念,是特指压缩编码。
在计算机的世界中 ,一切数据都是由0和1组成的 ,音频和视频数 据也不例外。 由于音视频的数据量庞大 ,如果按照裸流数据存储 ,将 需要耗费非常大的存储空间 ,也不利于传送 ,而在音视频数据中 ,其实包含了大量0和1的重复数据, 因此可以通过一定的算法来压缩这些 0和1的数据。特别是在视频中, 由于画面是逐渐过渡的, 因此在整个 视频中 ,包含了大量画面/像素的重复 ,这正好提供了非常大的压缩 空间。 因此 ,编码可以大大减小音视频数据的大小 ,让音视频更容易 存储和传送。那么 ,未经编码的原始音视频 ,数据量到底有多大呢? 以一个分辨率为1920×1080像素且帧率为30f/s的视频为例, 共有 1920×1080=2 073 600像素 ,每像素是24b(假设采取RGB24) , 也 就 是 每 幅 图 片 为 2 073 600×24b=49 766 400b 。 8b (位 ) =1B(字节) ,所以 ,49 766 400b=6 220 800B≈6.22MB。这是一 幅1920×1080图片的原始大小(6.22MB), 再乘以帧率30, 也就是 说 ,每秒视频的大小是186.6MB ,每分钟大约是11GB ,一部90分钟 的电影,约为990GB。
2.3 视频编码
视频编码的格式有很多 ,例如H.26x系列和MPEG系列的编码, 这些编码格式都是为了适应时代的发展而出现的。 H.26x(1/2/3/4/5) 系列由国际电信联盟(International Telecommunication Union , ITU)主导 。 MPEG(1/2/3/4)系列由运动图像专家组(Motion Picture Experts Group, MPEG)主导 。 当然, 他们也有联合制定的编码标 准 ,也就是现在主流的编码格式H.264 ,还有下一代更先进的压缩编 码标准H.265。
视频编码知识比较专业, 限于篇幅 ,这里简单介绍一下。所谓视 频编码方式就是对数字视频进行压缩或者解压缩(视频解码) 。通常 这种压缩属于有损数据压缩。也可以通过特定的压缩技术 ,将某个视 频格式转换成另一种视频格式。
常见的编码方式如下。
1.H.26x系列
由ITU主导,包括H.261、H.262、H.263、H.264、H.265。
(1)H.261:主要在老的视频会议和视频电话产品中使用。
(2)H.262 : 在 技 术 内 容 上 和 ISO/IEC 的 MPEG-2 视 频 标 准 (ISO/IEC13818-2)一致。
(3)H.263:主要在视频会议、视频电话和网络视频中使用。
(4)H.264 : H.264/MPEG-4 第 十 部 分 , 或 称 高 级 视 频 编 码 (Advanced Video Coding ,AVC) ,是一种视频压缩标准 ,也是一种
被广泛使用的高精度视频的录制、压缩和发布格式。
(5)H.265: 高效率视频编码(High Efficiency Video Coding , HEVC) 是 一 种 视 频 压 缩 标 准, 是 H.264/MPEG-4 AVC 的 继 任 者 。 HEVC被认为不仅提升了图像质量, 同时也能达到H.264/MPEG-4 AVC两倍压缩率(等同于同样画面质量下比特率减少了50%) ,可支 持4K分辨率甚至超高画质电视 ,最高分辨率可达8192×4320( 8K分 辨率),这是目前发展的趋势。
2.MPEG系列
由ISO下属的MPEG开发,主要包括以下几种。
(1)MPEG-1第二部分:主要使用在VCD上 ,有些在线视频也使用 这种格式。该编解码器的质量大致上和原有的VHS录像带相当。
(2)MPEG-2第二部分 :等同于H.262 ,使用在DVD、 SVCD和大 多数数字视频广播系统和有线分布系统(Cable Distribution Systems) 中。
(3)MPEG-4第二部分: 可以使用在网络传输 、 广播和媒体存储 上。比起MPEG-2和第一版的H.263,它的压缩性能有所提高。
(4)MPEG-4第十部分 :技术上和ITU的H.264是相同的标准 ,有 时候也被叫作AVC 。 这两个编码组织合作, 诞生了H.264/MPEG-4
AVC标准。 ITU-T将这个标准命名为H.264 ,而ISO/IEC称它为MPEG-
4 AVC。
3.其他系列
其 他 系 列 包 括 AMV 、 AVS 、 Bink 、 CineForm 、 Cinepak 、 Dirac 、 DV 、 RealVideo 、 RTVideo 、 SheerVideo 、 Smacker 、 Sorenson Video 、 VC-1 、 VP3 、 VP6 、 VP7 、 VP8 、 VP9 、 WMV 等。
2.3.2.音频编码
原始的PCM音频数据包含非常大的数据量, 因此需要对其进行压 缩编码 。 和视频编码一样, 音频也有很多的编码格式, 如WAV 、 MP3 、 WMA 、 APE 、 FLAC等, 音乐发烧友应该对这些格式非常熟 悉,特别是后两种无损压缩格式。
这里以AAC格式为例 ,直观地了解音频压缩格式。AAC是新一代 的音频有损压缩技术 ,是一种高压缩比的音频压缩算法。在MP4视频 中的音频数据 ,大多数时候采用的是AAC压缩格式。AAC格式主要分 为 两 种 : 音 频 数 据 交 换 格 式 (Audio Data Interchange Format , ADIF)和音频数据传输流(Audio Data Transport Stream,ADTS)。
1)ADIF
ADIF的特征是可以确定地找到这个音频数据的开始 ,不需在音频 数据流中间开始解码, 即它的解码必须在明确定义的开始处进行。 ADIF常用在磁盘文件中,只有一个统一的头(Head),所以必须得到所 有的数据后才能解码。
2)ADTS
ADTS的特征是它是一个有同步字的比特流 ,解码可以在这个流 中的任何位置开始。 它的特征类似于MP3数据流格式。ADTS可以在
任意帧解码 ,它的每一帧都有头信息。这两种格式的header格式也是 不同的,目前一般编码所采用的是ADTS格式的音频流。
ADIF数据格式为header|raw_data。ADTS的一帧数据格式如图 2-8所示(中间部分为帧格式,左右省略号为前后数据帧)。
图2-8 ADTS的一帧数据格式
2.3.3 硬解码和软解码
在一些播放器中会看到有硬解码和软解码两种播放形式供选择 , 但是大多数时候并不能感觉出它们的区别 ,对于普通用户来讲 ,只要 能播放就行了。 它们的内部究竟有什么区别呢?在手机或者PC上 ,都 会有CPU、GPU或者解码器等硬件。通常 ,计算是在CPU上进行的 , 而GPU主要负责画面的显示(是一种硬件加速)。
软解码是指利用CPU的计算能力来解码 ,通常如果CPU的能力不 是很强 ,解码速度则会比较慢 ,也可能出现发热现象 ,但是, 由于使 用统一的算法,兼容性会很好。
硬解码指的是利用专门的解码芯片来加速解码 ,通常硬解码的解 码速度会快很多 ,但是由于硬解码由各个厂家实现 ,质量参差不齐, 非常容易出现兼容性问题。
2.4 音视频容器
细心的读者可能已经发现 ,前面介绍的各种音视频的编码格式 , 没 有 一 种 是 平 时 使 用 到 的 视 频 格 式 , 例 如 MP4 、 RMVB 、 AVI 、 MKV、 MOV等。这些常见的视频格式 ,其实是包裹了音视频编码数 据的容器 ,用来把特定编码标准编码的视频流和音频流混在一起 ,成 为一个文件 。 例如, MP4支持H.264 、 H.265等视频编码和AAC、MP3等音频编码。 MP4是目前最流行的视频格式 ,在移动端 ,一般将 视频封装为MP4格式。
更多推荐
所有评论(0)