音视频基础知识
1 视频
1.1 色彩空间
YUV(YCbCr)色彩空间
在视频编解码和传输中,通常采用YUV色彩空间(即YCbCr)来表示图像。相比于RGB色彩空间,YUV色彩空间更符合人眼对亮度和颜色的感知特性,同时在压缩和传输方面更加的高效(由于人眼对亮度的感知能力远远超过了对色度的感知,因此通过减少部分UV通道的数据量,既可以达到压缩图像大小的效果,也不会影响观感)。
YUV色彩表示:
- Y分量:亮度,即灰度值
- U(Cb)分量:蓝色色度分量
- V(Cr)分量:红色色度分量
色度二次采样方式(即对UV分量下采样,降低UV分量分辨率):
- 4:4:4:即不进行色度二次采样,每一个像素的Y分量对应一个UV分量,每个像素占用存储空间与原来相同
- 4:2:2:每两个像素的Y分量对应一个UV分量,每个像素可以节约1/3的存储空间
- 4:2:0:每四个像素的Y分量对应一个UV分量,每个像素可以节约1/2的存储空间
RGB色彩空间 | 便于显示和图像处理 |
---|---|
YUV色彩空间 | 便于压缩和存储传输 |
1.2 分辨率、帧率与码率
帧率
图像一帧一帧地快速切换,就形成了视频。帧率(FPS)指的就是1秒钟内闪过的图像帧数,目前常见的视频帧率都在25FPS以上(根据人眼的视觉暂留效应,当连续变化的图像速度达到每秒24帧以上时,看起来就是平滑连续的视觉效果)。
在视频编码技术中,又将视频帧分为了 I 帧、P 帧和 B 帧:
- I 帧:即帧内编码帧,大多数情况下 I 帧就是关键帧,也就是一个完整帧,无须任何辅助就能独立完整显示的画面。
- P 帧:即前向预测编码帧,是一个非完整帧,通过参考前面的 I 帧或 P 帧生成画面。
- B 帧:即双向预测编码帧,参考前后图像帧编码生成,通过参考前面的 I / P 帧或者后面的 P 帧来协助形成一个画面。
分辨率
视频分辨率指的是视频中的图像的水平和垂直像素数量,通常以宽x高(例如1920x1080)表示。一般而言,视频分辨率越高,影像质量越好,越能表现出更多的细节,但同时因为记录的信息更多,视频文件也会越大。根据分辨率的大小,人们定义了多档视频质量指标:
- 标清(SD):通常为720×480像素(480P),显示比例为4:3。
- 高清(HD):通常为1280×720像素(720P)或1920×1080像素(1080P),显示比例为16:9。
- 超高清(UHD):通常为3840×2160像素(4K分辨率)或7680×4320像素(8K分辨率),显示比例为16:9。
码率
码率即比特率,指单位时间内传输视频信息的比特数量,可以理解为吞吐量或带宽。码率的单位为b/s,比特率越高,带宽消耗的就越多,但视频质量就越好(尽管视频中每帧图像的清晰度主要受分辨率影响,但由于在视频编码过程中码率决定了保留图像信息的多少,因此即使视频的分辨率很高,如果采用了较低的码率进行压缩,也会导致视频质量的下降)。
码率控制模式:
- 固定码率(CBR):以固定的码率来压缩视频,这意味无论视频内容的复杂度如何,编码器都会尝试以相同的速度生成数据;
- 动态码率(VBR):动态码率指的是码率可以根据图像复杂程度的不同而随之调整。图像内容简单的片段采用较小的码率,图像内容复杂的片段采用较大的码率,这样既保证了播放质量,又兼顾了视频数据量。
- 平均码率(ABR):对于简单的场景分配较低的码率,对于复杂场景分配较高的码率,同时又保证平均码率接近于设置的目标码率,可以认为是CBR和VBR的折中方案。
2 音频
2.1 音频信号
声音是振动产生的声波,通过介质(气体、固体、液体)传播并能被人或动物的听觉器官所感知。我们可以通过转换器(如麦克风)将物理声波转换为电子信号(电流/电压),但这种电子信号是连续的模拟信号,为了使得声音信号可以被计算机存储、压缩和传输,我们还需要通过ADC将模拟声音信号转换为离散的数字音频信号,ADC就是对模拟声音信号进行采样→量化→编码的过程。
2.2 音频采样、量化与编码
采样率
采样率(也称为采样速度或采样频率)定义了每秒从连续信号中提取并组成离散信号的采样个数,单位为赫兹(Hz)。采样率的倒数被称为采样周期或采样时间间隔。由于人耳的听觉频率范围是20Hz-20KHz,根据奈奎斯特采样定理,音频采样率应该至少为40KHz,通常采用44.1KHz。
量化位深
采样后的信号是连续的幅度值,量化就是将每个采样点的幅度值映射到一个最近的离散数值来表示。量化位深决定了每个采样点用多少个二进制位数来表示和存储,它代表的是振动幅度所能表达的精确程度或者粒度,位深越大,音频信号还原时的失真程度就越低。目前通常采用16位位深,对于音乐或有更高保真度要求的场景可以使用32位甚至64位位深来表示。
编码
编码是将量化后的数字信号表示为计算机可以处理的二进制形式,常见的音频编码格式有PCM(脉冲编码调制)、AAC(高级音频编码)、MP3等。每种编码格式都有其特定的压缩算法和数据结构,用于减少音频数据的存储空间和传输带宽。其中PCM文件就是未经封装的音频原始文件或者叫音频“裸数据”。
2.3 声道
声道(Channel)是指音频信号传输或播放过程中的一个独立的声音轨道或通道。声道用于区分和分配不同的音频信号,使得多个声音源可以被同时传输或播放,并以立体声或环绕声的形式呈现给听者。
常见的声道配置:
- 单声道(Mono):只有一个声道,所有声音信号都混合到一个声音轨道中,常用于对话、广播、电话通信等应用;
- 立体声(Stereo):具有左右两个声道,左声道和右声道分别传输不同的音频信号,可以在听者的左右耳朵中产生立体感,提供更加真实和丰富的听觉体验;
- 多声道(Multi-channel):具有两个以上的声道数。常见的多声道配置包括5.1声道(前置左、前置右、中央、环绕左、环绕右和低音炮声道)、7.1声道等。常用于影院、音乐制作等更需要沉浸式听觉体验的场景。
声道数、采样率、量化位深、音频时长、编码方式共同决定了一段音频所占用的存储空间和传输带宽。