1 基本概念
1.1 视频编码的定义
视频编码是指通过特定的算法和技术,将模拟或数字视频信号转换为更紧凑的数字数据流的过程。其本质是对视频信号中存在的空间冗余(同一帧内相邻像素的相似性)、时间冗余(帧与帧之间的内容重复性)以及心理视觉冗余(人眼不易觉察的细节)进行压缩。编码后的数据可以以二进制形式存储或通过网络传输,待播放时再解码还原为可视画面。
1.2 编码与解码过程
1.2.1 编码器与解码器的作用
编码器(Encoder)负责将原始视频(通常为无压缩或轻微压缩的YUV/RGB格式)分析、压缩并输出为符合特定语法规则的数据流。解码器(Decoder)则反向操作,读取编码流中的语法元素,重建视频帧序列并输出至显示设备。编码器的复杂度通常远高于解码器——因为编码需要做大量搜索与决策(如运动估计),而解码只需按规则执行逆过程。
1.2.2 有损编码与无损编码
- 有损编码:舍弃部分视觉冗余信息(如高频细节),实现高压缩比。这是绝大多数视频编码标准的默认方式,仅能最大程度接近原画质,无法完美还原。
- 无损编码:保留原始数据的每一个比特,压缩比有限(通常不超过3:1)。适用于医学影像、动画线条等对精度有严苛要求的场景,但文件体积较大。
1.3 压缩比与视频质量的关系
压缩比(原始数据量÷压缩后数据量)与视频质量呈反比。低压缩比(即高码率)下画质几乎无损,但文件巨大;高压缩比(低码率)会引入块效应、模糊、振铃等伪影。码率-失真优化(RDO)是现代编码器的核心任务——在给定码率约束下,通过编码参数选择最小化视觉损失。
2 发展历史
2.1 早期标准(H.261、MPEG-1、MPEG-2)
- H.261(1990年):ITU-T主导的首个实用视频编码标准,专为ISDN视频会议设计,支持CIF(352×288)和QCIF(176×144)分辨率,奠定了混合编码框架(帧间预测+变换编码)。
- MPEG-1(1993年):以VCD(Video CD)为目标,支持352×288@30fps,首次引入I、P、B帧概念,压缩比可达50:1。
- MPEG-2/H.262(1995年):由MPEG与ITU-T联合制定,支持标清(480i/576i)及高清(1080i)分辨率,广泛用于DVD、数字电视广播(ATSC/DVB等)。其编码效率较H.261提升约一倍。
2.2 经典时代(H.264/AVC、MPEG-4 Part 2)
- MPEG-4 Part 2(1999年):因支持交互式对象编码而闻名,实际应用不如后续技术,但为DivX/XviD等格式奠定了基础。
- H.264/AVC(2003年):由ISO/IEC MPEG与ITU-T VCEG联合制定,对全球视频编码生态产生了决定性影响。它引入了多参考帧、亚像素运动估计、上下文自适应熵编码(CABAC)等关键技术,压缩效率较MPEG-2提升约50%。
2.3 现代标准(H.265/HEVC、VP9、AV1)
- H.265/HEVC(2013年):将压缩效率在H.264基础上再提升约30-50%,支持8K分辨率,但专利授权复杂。
- VP9(2013年):Google开发的免专利费编码,用于YouTube,与HEVC同期竞争。
- AV1(2018年):开放媒体联盟(AOMedia,由Google、Mozilla、Amazon、Netflix等组建)的免专利费标准,压缩效率优于HEVC约20-30%,成为互联网流媒体的新宠。
3 主流视频编码格式详解
3.1 H.264/AVC
3.1.1 技术特点
- 混合编码框架:结合帧内预测(Intra Prediction)、可变块大小运动补偿(从16×16到4×4)、整数离散余弦变换(DCT,含4×4及8×8两种块大小)、环路去块滤波器(Deblocking Filter)。
- 熵编码选项:CAVLC(Context-Adaptive Variable Length Coding)和CABAC,后者压缩率更高。
- 多参考帧:最多支持16个参考帧,提升运动估计精度。
- 灵活性:定义18个Profile(如Baseline、Main、High),覆盖从低端移动设备到高画质蓝光的不同需求。
3.1.2 应用场景
H.264是目前最广泛支持的编码格式。它被纳入蓝光光盘标准、流媒体平台(如YouTube初期的主流编码)、以及几乎所有摄像头、视频播放器和操作系统。从聊天表情包到好莱坞大片,H.264是真正的“通用语言”。
3.2 H.265/HEVC
3.2.1 与H.264的主要改进
- 编码单元分层:引入四叉树分割、非对称运动划分,将最大编码单元放宽至64×64。
- 更强预测:支持33种角度帧内预测(H.264仅9种)和多类型运动矢量精度(1/4、1/8、甚至变速)。
- 变换优化:支持4×4至32×32的DCT/DST变换,并引入自适应变换块大小。
- 环路滤波升级:加入样点自适应补偿技术,减少条带伪影。
3.2.2 实用性能与专利问题
HEVC在同等画质下相比H.264可节省约40-50%的码率。然而,其专利池(由MPEG LA、HEVC Advance、Velos Media等多方管理)授权费用昂贵且碎片化,导致大型互联网公司在Web端推广迟缓。业界甚至出现了“HEVC专利核武器”的调侃,用户若未按规缴费,可能面临软件或硬件被诉侵权的尴尬。
3.3 VP9(Google开发)
3.3.1 开放与免专利费的优势
VP9由Google在VP8的基础上从头设计,核心卖点是完全免专利费——任何个人或企业均可免费使用。其技术框架与HEVC相似,但使用基于算术编码的熵编码器,并优化了运动向量缩放与线性滤波。Google还发布了参考实现libvpx,方便开发者集成。
3.3.2 在YouTube等平台的应用
YouTube是全球最大的用户测试场:自2013年起,YouTube将所有视频同时编码为H.264和VP9,而浏览器选择VP9的建议服务。在Chrome、Firefox、Edge等支持VP9的浏览器上,用户能以更低的带宽成本观看同等画质的内容。不过VP9在编码速度(尤其是慢速优化档)上曾落后于HEVC,导致计算成本略高。
3.4 AV1(开放媒体联盟)
3.4.1 设计目标与效率
AV1继承了VP9的开源精神,但目标是超越HEVC的效率。它融合了多种创新技术:
- 子帧级处理:支持分区、子分区和转换跳过模式。
- 大框架:最大编码单元尺寸为128×128(HEVC为64×64)。
- 多种滤波:环路恢复滤波器CDEF(消除细节模糊)和Grain Synthesis(模拟胶片颗粒)。
- 参考帧管理:最多支持7个参考帧。
在实际测试中,AV1的压缩效率较HEVC高出约20-30%,较VP9高出约30-50%。
3.4.2 硬件支持现状
AV1在软件解码端的计算量约为HEVC的3-4倍,早期只能靠CPU软解码(难啃的硬骨头),导致发热和耗电激增。从2020年起,主流设备厂商开始推出集成AV1硬件解码器:
- PC:Intel Arc、NVIDIA RTX 30/40系列、AMD RX 7000系列。
- 手机:高通骁龙8 Gen 2/3、联发科天玑9000/9200、苹果M3。
截至2025年,AV1已全面渗透到YouTube、Netflix、爱奇艺等流媒体平台,成为下一代的互联网视频标准。
3.5 其他格式(WMA、Real Video、VC-1等)
- WMA(Windows Media Video):微软的私有编码,早期用于Windows Media Player和Zune;HD DVD和部分蓝光曾采用VC-1(其标准化版本),但如今已边缘化。
- RealVideo:RealNetworks的编码格式,在2000年代初期因拨号上网盛行而走红(低码率表现好),但后来被H.264全面取代。
- VC-1:微软提出的标准,被纳入蓝光光盘可选格式,压缩效率接近H.264但略逊,目前仅少数老版光碟和编码器维护。
- AVS/AVS+:中国自主标准,用于数字电视和手机视频。AVS3被认为与HEVC效率相当,且专利政策友好,但在全球普及度有限。
4 技术原理
4.1 帧内预测与帧间预测
4.1.1 I帧、P帧、B帧
- I帧(Intra-coded frame):只使用本帧内相邻像素的冗余进行压缩(类似JPEG)。作为随机接入点,解码器可以从I帧直接开始。
- P帧(Predictive-coded frame):以前方的参考帧(I帧或P帧)为基准,通过运动补偿预测,只记录残差。
- B帧(Bidirectionally-predictive frame):以前方和后方两个参考帧预测,压缩比高于P帧,但需要等后帧解码完毕才能还原。
将帧分为I/P/B三类,是混合编码框架的基石——I帧作为关键帧,P帧向后参考,B帧双向插值,共同实现显著压缩。
4.2 变换与量化
4.2.1 离散余弦变换(DCT)
DCT将空间域像素块转换为频率域系数块。低频系数包含大部分能量(人眼敏感),高频系数则多接近零。在H.264和HEVC中,DCT采用整数量化逼近(而非浮点)以降低计算复杂度。AV1则同时支持DCT、ADST和F-GST等多种变换。
4.2.2 量化参数与失真控制
量化是编码中唯一有损的环节:将DCT系数除以一个“步长”(量化参数QP),再取整得到量化系数。QP越高,高频系数被丢弃得越多,码率降低但画质劣化。视频编码通过调整帧级/块级QP来优化码率失真——在复杂场景分配更多比特,在平滑区域则可压低QP。
4.3 熵编码(CAVLC、CABAC)
熵编码是无损压缩的最后一环,将量化后的系数符号化,输出二进制比特流。
- CAVLC:基于上下文自适应变长编码,对含大量零系数的数据进行高效编码,复杂度低。
- CABAC:基于上下文自适应二进制算术编码,将语法元素解释为概率模型,压缩率比CAVLC高出约5-15%。H.264 High Profile强制使用CABAC,HEVC和AV1则默认采用算术编码。
4.4 运动估计与补偿
运动估计是帧间编码的核心:编码器在当前帧与一个或多个参考帧之间搜索最佳匹配块,并用“运动矢量”表示块的位置偏移。补偿则用参考帧对应块加上残差重建当前帧。现代编码器(如x265)支持从整像素到1/4或1/8像素精度的亚像素搜索,以及多参考帧、仿射运动模型等高级方法,复杂度随质量档位呈指数级增长。
5 容器格式与编码格式的关系
5.1 常见容器(MP4、MKV、AVI、WebM)
容器格式负责将视频流(编码数据)、音频流、字幕、章节信息等包装成一个文件。常见容器包括:
- MP4:最通用,基于ISO Base Media File Format,几乎所有设备和方法均支持,通常封装H.264或HEVC。
- MKV(Matroska):开源、灵活,支持多视频轨道、多音轨、章节和附件,被高清爱好者追捧。
- AVI:老牌WINDOWS容器,但无索引导致快进缓慢,且不支持B帧稳定封装。几乎被淘汰。
- WebM:专为免专利费平台设计,仅支持VP8/VP9/AV1视频和Vorbis/Opus音频,由Google主推。
5.2 编码流与容器的兼容性
并非所有容器都能装任何编码:AVI对H.264的B帧支持不好;WebM拒绝闭源格式;MKV则兼容性最好。编码器输出的裸码流(如H.264 Annex B流)需要按容器的语法规则打包。实践建议:MP4配H.264/HEVC,MKV配VP9/AV1+FLAC,WebM配AV1+Opus。
5.3 封装与元数据
容器可以保存大量元数据,如分辨率、帧率、像素纵横比(PAR)、创建时间、封面图、章节目录等。封装时将元数据写入box(MP4)或segment(MKV)头部,帮助解码器对号入座。如果元数据与实际流不匹配(例如声明1080p实际编码为720p),播放器可能做无效缩放。确保封装工具正确读取流信息是避免“电影变缩略图”笑话的关键。
6 应用场景
6.1 网络流媒体(点播、直播)
流媒体对编码的需求是“压缩率优先+自适应码率”。YouTube、Netflix等平台采用分段传输(DASH/HLS),同一内容编码为多个码率的视频流;播放器根据网络状况智能切换。H.264在长尾设备中仍是保底选项,HEVC和AV1则用于节省带宽(占位趋势)。直播场景则要求超低延迟,编码器和解码器需要极速响应——例如WebRTC内默认使用H.264的Baseline Profile进行实时协商。
6.2 数字电视与蓝光光盘
数字电视(DVB/ATSC)主要依赖MPEG-2(标清)和H.264/HEVC(高清、超高清),确保所有机顶盒兼容。蓝光光盘使用H.264或VC-1(早期视频);4K蓝光强制使用HEVC。这类场景追求可控的高画质,压缩比通常较保守。
6.3 视频会议与实时通信
Zoom、Teams和FaceTime等应用需要同时兼顾低延迟(端到端<200ms)、低码率和稳定性。H.264 Baseline Profile和VP8是常用选择;新兴的AV1 Real-Time模式也在逐步推广。编码器被调到极低预缓冲,甚至牺牲一点画质换取帧同步。
6.4 视频监控与安防
监控摄像头的编码需求是长期录制和存储以节省空间。主流厂家使用H.264或H.265,但引入智能场景(如区域编码:动态区域高码率,静止区低码率)。AV1因硬件编码器缺位在监控领域暂未普及。
6.5 专业影视后期制作
影视行业从拍摄到终混几乎离不开原始未压缩(或Intra-frame编码,如ProRes、DNxHD)。这些格式强调帧级别的可编辑性,而非传输效率。但发行环节(DCP、Netflix母版)会采用高码率的H.264/H.265流进行首映或上线。专业调色师对色度采样(如4:2:2、4:4:4)和色深(10-bit、12-bit)有极端要求,标准消费级格式常难以满足。
7 未来趋势
7.1 下一代编码标准(VVC、EVC、AVS3)
- VVC(Versatile Video Coding/H.266):2020年由JVT-VC(MPEG+ITU-T)发布,目标压缩效率比HEVC提升约40-50%。它引入更复杂的四叉树-二叉树-三叉树分区和子块运动矢量预测,被预测将接力HEVC成为未来10年的主流。但专利问题同样严峻,最终落地速度可能慢于预期。
- EVC(Essential Video Coding):MPEG推出的一套双轨制标准,提供“基线配置”(免专利费)和“主流配置”(含专利技术,付费)。旨在为不想付专利费的企业提供合法选择。
- AVS3:中国自主标准,2021年完成,效率目标对标VVC,已应用于央视超高清试验频道。其专利收费较透明,有望在亚洲市场进一步扩大。
7.2 人工智能与机器学习在编码中的应用
AI正渗透视频编码的每一个环节:
- 神经网络增强:用于空时域超分、去噪、降噪帧重建,常用于低码率场景修复。
- 替代传统工具:端到端神经网络自编码(如基于GAN的压缩)在有损压缩比赛中已接近HEVC的水平,但通用性和硬件开销仍是瓶颈。
- 编码器优化:深度学习驱动的运动估计、模式选择,可大幅降低编码时间(如x265的AI-ME模式)。
7.3 开源生态与专利许可演变
视频编码领域的专利战争从未停止。VVC的专利池已超过200权益方,每个公司都有三个以上池子要缴纳费用。为此:
- 开源编码器:如x264/x265保证免费软件可用;libaom(AV1)和SVT-AV1(由Intel/Netflix开发)推进免专利费生态。
- 专利聚合:OpenAV1和Sisvel的AV1专利池试图将中立的侵权索赔扼杀于摇篮。
- 许可改革:Disney+、Apple TV+等大平台开始强制对编码选择进行“专利无风险”评估,未来将更多转向AV1或EVC基线配置。在可预见的未来,“免专利费商用自由+寡头付费选择”的二元格局将主导市场。