2. 视频编码基础

学习 H.264 与 H.265 之前,必须先建立一套“视频数据的度量体系”。编码器做的每一件事——预测、变换、量化、熵编码——最终都作用在这些基础参数上。理解它们,才能看懂码率为什么变化、画质为什么损失、参数为什么这样配置。

一、像素、分辨率与帧率:视频的时空骨架

像素是数字图像的最小单位,每个像素记录一个或多个颜色分量。像素本身不携带“亮度值”这一说法,它携带的是采样后的数值,例如 8 位下亮度 Y 取值 0~255。

分辨率描述一帧图像横向与纵向的像素数量,如 1920×1080。它决定空间细节上限。注意区分“显示分辨率”和“编码分辨率”:编码器实际处理的是后者,两者可以不同。

帧率(fps)表示每秒播放的图像帧数。帧率越高,运动越流畅,但单位时间需要编码的帧数也越多。常见有 24、25、30、50、60 fps。

一帧未压缩图像的数据量 ≈ 宽 × 高 × 每像素比特数。以 1920×1080、YUV420、8 位为例,每像素平均 12 位,单帧约 1920×1080×12÷8 ≈ 3.11 MB;30 fps 下每秒约 93 MB,即约 746 Mbps。这正是必须压缩的根本原因。

二、色彩空间与 YUV 格式:从 RGB 到亮度/色度分离

人眼对亮度敏感、对色度不敏感,因此视频编码普遍采用 YUV 色彩空间:Y 表示亮度,U、V 表示色度。RGB 转 YUV 的常用公式(BT.601)为:

Y =  0.299R + 0.587G + 0.114B
U = -0.169R - 0.331G + 0.500B + 128
V =  0.500R - 0.419G - 0.081B + 128

YUV 的关键优势是亮度与色度可分离处理,从而允许对色度降采样,大幅减少数据量。常见 YUV 格式有 YUV420、YUV422、YUV444,数字表示三个分量的采样比例。

三、采样格式与位深:色度降采样与精度

采样格式决定色度相对亮度的采样密度。以 4 个像素为一行参考:

  • YUV444:每个像素都有独立 Y、U、V,无色度损失,数据量最大。
  • YUV422:水平方向每 2 个像素共享一组 U、V,色度水平减半。
  • YUV420:水平与垂直方向均每 2 个像素共享一组 U、V,色度面积减为 1/4,是 H.264/H.265 最主流的格式。

位深指每个分量用多少比特表示。8 位时 Y 有 256 级,10 位时有 1024 级。位深越高,渐变越平滑,越不易出现色带,但数据量和计算量也上升。H.265 的 Main 10 Profile 即支持 10 位。

四、码率与压缩比:编码结果的量化指标

码率(bitrate)是单位时间编码后的数据量,单位通常为 kbps 或 Mbps。它分为:

  • CBR(恒定码率):输出码率基本恒定,适合固定带宽传输。
  • VBR(可变码率):按画面复杂度分配码率,画质更稳定。
  • ABR(平均码率):在较长时间窗口内平均码率受控。

压缩比 = 原始数据量 ÷ 压缩后数据量。例如 1080p30 原始约 746 Mbps,编码为 4 Mbps,压缩比约 186:1。压缩比越高,节省带宽越多,但画质损失风险也越大。

码率不是越高越好,也不是越低越差。关键是“在目标码率下,编码器能否把比特分配到人眼最敏感的区域”。这正是 H.264/H.265 各类预测与变换工具的价值所在。

五、核心参数速查表

术语含义典型值/示例对编码的影响
像素图像最小采样单位Y=0~255(8 位)决定单帧原始数据量
分辨率一帧的宽×高像素数1920×1080、3840×2160越高细节越多,码率需求越大
帧率每秒图像帧数24/25/30/60 fps越高运动越流畅,码率越高
色彩空间颜色表示方式RGB、YUVYUV 利于亮度色度分离压缩
采样格式色度相对亮度的采样密度YUV420、YUV422、YUV444420 数据量最小,最常用
位深每分量比特数8 bit、10 bit越高渐变越平滑,数据量越大
码率单位时间编码数据量4 Mbps、8 Mbps直接决定带宽与画质平衡
压缩比原始数据量÷压缩后数据量约 100:1~300:1越高越省带宽,损失风险越大

六、案例与常见误区

案例:一段 1080p30、YUV420、8 位视频,原始码率约 746 Mbps。若目标是在 4 Mbps 下传输,压缩比约 186:1。编码器需要依靠帧内预测、帧间运动补偿、DCT 变换、量化与熵编码共同完成这一压缩。

误区一:分辨率越高画质一定越好。若码率不足,高分辨率反而因量化过重出现块效应,观感可能不如低分辨率高码率。

误区二:YUV420 就是“颜色少了一半”。它减少的是色度采样密度,不是颜色种类;由于人眼特性,多数场景下观感损失很小。

误区三:位深只影响颜色数量。位深还影响变换与预测的精度,10 位在暗部渐变和多次编码场景中优势明显。

配置编码参数时,分辨率、帧率、位深、采样格式与目标码率必须协同考虑。单独调高某一项而不同步调整码率,往往导致画质下降或带宽超限。
视频基础参数关系图 原始数据量 宽 × 高 × 帧率 × 每像素比特数 视频编码器 预测 / 变换 / 量化 熵编码 编码码流 码率 / 压缩比 CBR / VBR / ABR 影响原始数据量的关键参数 分辨率 1920×1080 帧率 30 fps 采样格式 YUV420 位深 8 bit / 10 bit 压缩比 = 原始数据量 ÷ 编码后数据量 例:746 Mbps ÷ 4 Mbps ≈ 186 : 1 YUV 分离亮度与色度 → 色度降采样 → 减少数据量 → 编码器进一步压缩 H.264 / H.265 的核心任务:在目标码率下最大化主观画质

掌握这些基础量之后,后续学习帧内预测、帧间预测、变换量化时,就能清楚每一步在“压缩比—画质—码率”三角中扮演什么角色。它们是理解 H.264 与 H.265 所有高级工具的起点。