欢迎来到第二章。在第一章中,我们探讨了视频压缩的“为什么”——即数字视频中存在的各种冗余。本章我们将深入探讨视频信号“是什么”,以及它是如何被数字化表示的。理解视频信号的表示方式是掌握后续所有压缩技术的基础。我们将从人眼视觉系统最敏感的色彩和亮度分离开始,介绍YCbCr色彩空间,并解释为何它在视频领域比RGB更受青睐。随后,我们将讨论色度采样,这是一个巧妙利用人眼特性的关键压缩预处理步骤。我们还会涵盖位深、动态范围、HDR和WCG等高级概念,并一如既往地,将这些经典理论与最新的AI技术、以及行业发展历史联系起来。
在数字世界中,我们首先接触到的色彩模型通常是 RGB(红、绿、蓝)。它是一种”加色”模型,模仿了人眼中三种视锥细胞对不同波长光线的感知:L-锥细胞(长波,~564nm峰值)、M-锥细胞(中波,~534nm峰值)和S-锥细胞(短波,~420nm峰值)。在显示设备(如显示器、手机屏幕)上,每个像素都由红、绿、蓝三个子像素组成,通过调整它们的亮度混合成我们看到的各种颜色。RGB模型非常直观,易于硬件实现,因此在图像采集(如相机传感器)和显示端得到了广泛应用。
然而,RGB模型有一个显著的缺点:三个分量高度相关。一张彩色图片中的R、G、B三个通道的图像看起来非常相似,包含了大量的冗余信息。从数学角度来说,自然图像的R、G、B分量之间通常具有0.95以上的皮尔逊相关系数,这意味着它们承载了极为相似的结构信息。此外,RGB模型没有将人眼最为敏感的亮度信息与相对不那么敏感的色度信息分离开。研究表明,人类视觉系统对亮度变化的敏感度是对色度变化敏感度的约10倍。正如我们在第一章所讨论的,压缩的核心就是去除冗余,而RGB模型显然不利于此。
从技术实现角度,RGB模型还存在另一个问题:伽马特性。由于CRT显示器的非线性光电特性,RGB值与实际发光亮度之间存在幂函数关系(通常γ≈2.2-2.4),这进一步增加了信号处理的复杂性。
为了解决这个问题,视频工程领域引入了 YCbCr 色彩空间。这是一种将亮度和色度分离的表示方法,通常被非精确地称为 YUV。(严格来说,YUV指代的是模拟时代的PAL和NTSC系统,而YCbCr是其数字化的版本,但两者概念相似,在口语中常常混用)。
值得注意的是,YCbCr变换实际上是一个旋转变换,它将RGB空间中的坐标轴重新定向,使得新的轴之一(Y轴)沿着RGB立方体主对角线方向,这正是自然图像数据密集分布的方向。这种重新定向大大降低了分量间的相关性,为后续压缩创造了有利条件。
从RGB到YCbCr的转换是一个线性的数学变换。以BT.709标准(常用于高清电视)为例,转换公式如下:
Y = 0.2126 \times R + 0.7152 \times G + 0.0722 \times B
Cb = -0.1146 \times R - 0.3854 \times G + 0.5000 \times B + 128
Cr = 0.5000 \times R - 0.4542 \times G - 0.0458 \times B + 128
这些系数并非随意选择。Y分量的系数(0.2126, 0.7152, 0.0722)基于人眼对不同波长的敏感度曲线,其中绿色权重最大,因为人眼对绿光最为敏感。这个权重分布反映了CIE 1931标准观察者的光谱光视效率函数V(λ)。
需要注意的是,上述公式适用于Full Range(0-255)的RGB输入。在实际的广播级系统中,还需要考虑Limited Range(Y: 16-235, CbCr: 16-240)的映射:
Y_{limited} = 16 + 219 \times Y_{full}/255
Cb_{limited} = 16 + 224 \times (Cb_{full} - 128)/255 + 128
Cr_{limited} = 16 + 224 \times (Cr_{full} - 128)/255 + 128
这个变换的精妙之处在于它实现了去相关。变换后的Y, Cb, Cr三个分量之间的相关性大大降低(通常从>0.95降至<0.3)。Y分量保留了图像的绝大部分空间细节和视觉重要性(通常承载约80-90%的感知质量),而Cb和Cr分量则更像是两张低频的、描述色彩信息的”染色图”。
从频域角度来看,YCbCr变换实现了能量的重新分布:高频细节主要集中在Y分量中,而色度分量主要包含低频信息。这种特性使得在后续的变换编码步骤中,Y分量和CbCr分量可以采用不同的处理策略。
Rule-of-thumb: 在视频编码中,几乎所有工作都是在YCbCr空间中完成的。将RGB转换为YCbCr是视频预处理的第一步,也是最重要的一步,因为它为后续的色度采样、变换和量化等压缩步骤铺平了道路。
下面是一个简单的ASCII图,帮助理解这个概念:
Original Image (RGB)
|
| [ R ] [ G ] [ B ] (Highly correlated channels)
|
+---------------------+
| Color Transform |
| (e.g., RGB to YCbCr)|
+---------------------+
|
| [ Y ] [ Cb ] [ Cr ] (Largely decorrelated channels)
| / \
| / \
(High spatial detail) (Low spatial detail, color info)
将图像转换到YCbCr空间后,我们就有机会利用人眼视觉系统(Human Visual System, HVS)的另一个重要特性:人眼对亮度(Y)的敏感度远高于对色度(Cb, Cr)的敏感度。这一特性源于人眼的生理结构:负责高精度视觉的中央凹区域主要由对亮度敏感的杆状细胞组成,而负责色彩感知的锥状细胞密度相对较低。具体来说,人眼对亮度变化的敏感度约为色度变化敏感度的10-20倍,这种差异在空间频率域表现得更为明显。
色度采样(Chroma Subsampling)正是利用这一特性来降低数据量的技术。其核心思想是:保持亮度分量Y的全分辨率,但降低色度分量Cb和Cr的分辨率。这样可以在人眼几乎无法察觉到画质损失的情况下,显著减少需要编码和传输的数据。
从理论基础来说,色度采样实际上是应用了Nyquist采样定理的一个变种。由于人眼对色度信息的空间分辨能力有限(大约相当于亮度分辨能力的1/2到1/4),我们可以安全地对色度信号进行降采样而不引入可察觉的混叠失真。
色度采样的格式通常用一个三部分的比例 J:a:b 来表示(例如 4:2:0),这个表示法由 Charles Poynton 提出,描述了一个宽度为J像素、高度为2像素的区域内的采样情况:
这个记号系统虽然看起来简单,但实际上编码了复杂的采样模式信息。需要特别注意的是,这个记号描述的是概念模型,实际实现中可能存在不同的色度样本位置策略(如co-sited vs. centered positioning)。
让我们来解析最常见的三种格式,以及它们在频域和空间域的特性:
Y Y Y Y Cb Cb Cb Cb Cr Cr Cr Cr
Y Y Y Y Cb Cb Cb Cb Cr Cr Cr Cr
(J=4, a=4, b=4)
Y Y Y Y Cb Cb Cr Cr
Y Y Y Y Cb Cb Cr Cr
(J=4, a=2, b=2)
Y Y Y Y Cb Cb Cr Cr
Y Y Y Y \ / \ /
(J=4, a=2, b=0) ↓ shared ↓ ↓ shared ↓
数据量对比: 假设每个样本为8比特(1字节),对于一个4x2的像素块(8个像素):
对于10-bit系统(HDR常用),节省比例保持不变,但绝对数据量增加25%。
带宽影响分析: 以1920×1080@30fps的视频为例:
质量影响评估: 在主观质量评估中:
Rule-of-thumb: 从4:4:4到4:2:0,我们直接将总数据量减少了一半,而这种损失对于普通观众来说几乎是不可见的。这是视频压缩中”免费午餐”的第一道菜,也是所有现代视频编码标准默认采用的预处理步骤。当你处理任何来自网络或消费级设备的视频时,可以安全地假设它是4:2:0格式的。色度采样的效果如此之好,以至于即使在存储和带宽充足的今天,4:2:0仍然是主流选择。
位深 (Bit Depth),又称色深,指的是用于表示每个颜色分量(Y, Cb, Cr 或 R, G, B)的二进制位数。它直接决定了图像能够表示的颜色数量和色彩的平滑程度,是数字视频系统的一个基础参数。
位深的选择涉及量化噪声和存储效率之间的权衡。从信号处理的角度来看,更高的位深意味着更精细的量化步长,从而降低了量化误差。根据Weber-Fechner定律,人眼对相对亮度变化的敏感度是对数关系的,这解释了为什么伽马曲线能够有效分配有限的码字。
2^8 = 256 个级别。对于RGB来说,总共可以表示 256³ ≈ 1670万 种颜色。这对于大多数标准动态范围(SDR)的应用已经足够,但在大面积平滑渐变区域容易出现色带。2^10 = 1024 个级别。总共可以表示超过10亿种颜色(准确地说是 1024³ ≈ 10.7亿)。量化步长是8-bit的1/4,显著改善了色带问题。2^12 = 4096 个级别。主要用于专业摄影和电影制作,提供了极高的色彩精度。量化噪声分析: 假设原始信号在[0,1]范围内均匀分布,量化噪声功率为:
\sigma_{q}^2 = \frac{\Delta^2}{12}
其中 Δ = 1/2^n 为量化步长,n为位深。因此:
从8-bit增加到10-bit或更高位深,带来的最直观的好处是减少色带(Color Banding)现象。色带是指在颜色渐变平缓的区域(如天空、墙壁),由于颜色级别不够,导致出现像等高线一样的明显条纹。更高的位深提供了更精细的量化级别,使得颜色过渡更加平滑。
8-bit Gradient 10-bit Gradient
+------------------------+ +------------------------+
|#####|=====|-----| | |#######======----- |
|#####|=====|-----| | |#######======----- |
|#####|=====|-----| | |#######======----- |
+------------------------+ +------------------------+
(Visible banding) (Smooth transition)
动态范围 (Dynamic Range) 是指图像中最亮部分和最暗部分之间的对比度比例,通常用比值或分贝表示。这个概念在视频技术中至关重要,因为它决定了图像能够表达的明暗层次的丰富程度。
传统的显示器和视频内容是为标准动态范围 (Standard Dynamic Range, SDR) 设计的:
然而,人眼的真实动态感知能力远超SDR:
这种巨大的差距催生了高动态范围 (High Dynamic Range, HDR) 技术的发展。HDR不仅仅是”更亮”的问题,而是关于更好地分配有限的码字来匹配人眼的感知特性。
从编码角度看动态范围: 在SDR系统中,8-bit的256个级别在0-100 nits范围内线性分布(经过伽马曲线调整),平均每个级别约0.4 nits。但人眼对亮度变化的敏感度是非线性的,在低亮度区域更敏感。这意味着SDR系统在暗部浪费了精度,在亮部又精度不足。
Rule-of-thumb: 对于SDR视频,8-bit位深是标准。对于HDR视频,10-bit是起步要求,12-bit则更为理想。位深的增加对于压缩效率来说是一个挑战,因为需要编码的数据精度更高了,但它对于提升视觉质量,特别是消除色带,至关重要。现代编码器(如HEVC和AV1)都原生支持10-bit和12-bit编码,以适应HDR内容的需求。
高动态范围 (High Dynamic Range, HDR) 是近年来视频领域最重要的技术革新之一。它旨在让视频画面更接近人眼的真实所见,拥有更亮的亮部、更暗的暗部,以及两者之间更丰富的细节。HDR的核心在于重新设计整个信号链,从拍摄、处理、编码、传输到显示的每个环节。
与SDR(亮度约100 nits)相比,HDR显示器的峰值亮度可以达到1000-10000 nits甚至更高。但HDR的价值不仅仅在于峰值亮度,更在于更好的亮度层次分布和更准确的色彩表现。
为了有效地表示如此宽广的亮度范围,HDR技术引入了几个核心概念:
电光转换函数 (Electro-Optical Transfer Function, EOTF): 传统SDR使用伽马曲线 (Gamma 2.4) 作为EOTF,它最初是为了补偿CRT显示器的非线性特性。而HDR则采用更先进的EOTF:
L = 10000 \times \left(\frac{\max(N^{1/m_2} - c_1, 0)}{c_2 - c_3 \times N^{1/m_2}}\right)^{1/m_1}
其中 m₁=2610/4096×1/4, m₂=2523/4096×128, c₁=3424/4096, c₂=2413/4096×32, c₃=2392/4096×32
元数据 (Metadata): HDR内容通常包含元数据,用于告知显示设备如何正确地渲染画面。
宽色域 (Wide Color Gamut, WCG) 通常与HDR相伴相生。色域是指一个色彩空间能够表示的颜色范围,在CIE 1931色度图中用三角形表示。传统的SDR视频使用 BT.709 色域,它只能覆盖人眼可见颜色范围的约35%。而WCG标准则能表示更广泛的色彩:
Color Gamuts (Illustrative Coverage in CIE 1931)
.--------------------------------------.
| BT.2020 (75% coverage) |
| .----------------------------. |
| | DCI-P3 (54%) | |
| | .------------------. | |
| | | BT.709 (35%) | | |
| | '------------------' | |
| '----------------------------' |
'--------------------------------------'
(Visible spectrum: ~2.3M distinguishable colors)
WCG的技术挑战:
Rule-of-thumb: HDR和WCG是现代高质量视频体验的基石。HDR负责“亮得上去,暗得下来”,而WCG负责“色彩更鲜艳,更真实”。两者结合,需要至少10-bit的位深来支撑,并需要整个生态系统(拍摄、制作、编码、传输、解码、显示)的全链路支持。
传统的视频处理流程是固定的,而AI(特别是深度学习)的引入为视频信号的表示和增强带来了革命性的变化。
Rule-of-thumb: AI正在从“后处理”工具逐渐走向视频编解码的核心。对于视频信号表示而言,AI不仅能“修复”和“增强”信号(如SR和色彩增强),未来更有可能“生成”信号,从根本上改变我们对视频压缩的认知。例如,不再传输像素,而是传输描述场景的语义信息,由AI在解码端重新渲染画面。
在视频工程领域,Charles Poynton 是一位不得不提的人物。他是一位工程师、作家和科学家,以其在数字视频、色彩科学和高清电视领域的深刻见解和清晰阐述而闻名。他的著作《A Technical Introduction to Digital Video》和《Digital Video and HD: Algorithms and Interfaces》被誉为该领域的“圣经”。
Poynton最大的贡献之一是澄清和规范了许多视频工程中的基本概念。
Poynton的另一个重要贡献是在计算机科学和视频工程两个领域之间架起了桥梁。在早期,计算机图形学倾向于使用8-bit RGB,而广播电视行业则使用YCbCr。Poynton的工作帮助两个领域的专家相互理解对方的术语和技术,促进了数字媒体技术的融合。
可以说,我们今天能准确地讨论和处理数字视频信号,很大程度上得益于Charles Poynton在概念普及和标准化方面做出的不懈努力。
进入HDR时代后,标准之争再次上演。其中最引人注目的就是 Dolby Vision 和 HDR10+ 之间的竞争,这本质上是两种动态元数据技术路线的较量。
HDR10: 这是HDR的基础标准,由消费者技术协会(CTA)发布。它使用10-bit位深、BT.2020色域和PQ EOTF。最关键的是,它使用静态元数据。这意味着整个影片使用同一组参数来告诉显示设备内容的亮度范围。这很简单,免版税,但缺点是在不同场景间无法做到最优化。
Dolby Vision: 由杜比实验室开发,是HDR10的超集。它支持高达12-bit的位深,但其核心优势在于动态元数据。它可以为视频的每个场景甚至每一帧提供独立的元数据,让显示设备能够根据当前画面的特点进行最优的色调映射(Tone Mapping)。这使得在不同性能的显示器上都能获得尽可能忠实于创作者意图的画面效果。Dolby Vision是一项专有技术,需要授权费和专用硬件支持。
HDR10+: 由三星、松下和20世纪福克斯(现为迪士尼的一部分)联合推出,旨在成为Dolby Vision的一个开放、免版税的替代品。它同样在HDR10的基础上增加了动态元数据功能。虽然在技术细节和生态系统支持上与Dolby Vision有所不同,但其核心目标是相似的:提供比静态HDR10更优的逐场景优化能力。
这场竞争的格局如下:
Rule-of-thumb: 对于追求极致画质的用户和内容创作者来说,基于动态元数据的Dolby Vision和HDR10+无疑优于静态的HDR10。这场标准之争仍在继续,但最终受益的是消费者,因为它推动了整个行业向更高质量的视觉体验迈进。
本章我们深入探讨了数字视频信号的基础表示方法。以下是关键概念的总结:
理解这些基本概念至关重要,因为它们是所有现代视频编解码器设计和优化的出发点。在下一章,我们将开始探索混合编码框架的第一个核心模块:帧内预测。