1. H265/HEVC 编码标准概述

各位同学,咱们今天聊聊 H265。说实话,我在视频编解码这行干了十几年,H265 算是我看着长大的。从它还是草案的时候我就开始折腾,踩过不少坑,也攒了不少经验。今天这一章,咱们先把 H265 的来龙去脉、它跟 H264 到底差在哪、以及它凭什么能成为现在的主流,掰扯清楚。

1.1 H265/HEVC 的发展历史

H265 的正式名字叫 HEVC(High Efficiency Video Coding),高效视频编码。你想想看,H264 是 2003 年定稿的,到了 2010 年左右,4K 电视开始冒头,H264 明显扛不住了。码率太高,带宽撑不住。

所以 2010 年,ITU-T 和 ISO/IEC 这俩老大哥又凑到一起,搞了个联合视频编码小组(JCT-VC)。我记得当时我还在做 H264 的嵌入式优化,听说要搞新标准,心里既兴奋又忐忑——新标准意味着新机会,但也意味着又要重新学一遍。

2013 年 1 月,HEVC 正式成为国际标准。从立项到定稿,差不多三年时间。这个速度在视频编码标准里算快的了。为什么这么快?说白了,就是市场需求逼的。4K 视频、流媒体、视频会议,哪个不需要更高的压缩率?

关键时间节点:

  • 2010 年 4 月:JCT-VC 成立,开始 HEVC 标准化工作
  • 2012 年 7 月:HEVC 草案完成,进入最终评审
  • 2013 年 1 月:HEVC 正式成为 ITU-T H.265 和 ISO/IEC 23008-2 标准
  • 2014 年:首个商用 HEVC 编码器/解码器出现
  • 2017 年:HEVC 在 4K 蓝光、直播、视频会议中大规模部署

1.2 H265 与 H264 的核心对比

很多刚入行的同学问我:H265 到底比 H264 强在哪?我一般会反问一句:你见过 H264 压 4K 视频吗?那码率,啧啧,简直感人。

咱们直接上对比表,一目了然:

对比维度 H264/AVC H265/HEVC
编码效率 基准 同等画质下码率降低 50%
最大分辨率 4K(3840×2160) 8K(7680×4320)
最大帧率 60fps 300fps
宏块/编码树单元 16×16 宏块 64×64 编码树单元(CTU)
帧内预测模式 9 种 35 种
运动补偿精度 1/4 像素 1/4 像素 + 1/8 像素
变换块大小 4×4, 8×8 4×4 到 32×32
环路滤波 去块滤波 去块滤波 + SAO(样点自适应补偿)
并行处理 有限 Tile、WPP、Slice 多级并行
编码复杂度 1x 约 2-4x

看到没?H265 在编码效率上直接翻倍。我做过一个实际测试:同样一段 4K 视频,H264 需要 40Mbps 才能达到的视觉质量,H265 用 20Mbps 就搞定了。这在流媒体场景下,意味着带宽成本直接砍半。

1.3 核心技术优势

H265 能这么强,不是靠玄学,是实打实的技术改进。我挑几个最关键的说说。

1.3.1 更大的编码树单元(CTU)

H264 用的是 16×16 的宏块,H265 换成了 64×64 的编码树单元。你想想看,一个 64×64 的块,可以递归划分成更小的子块,灵活性比 H264 高太多了。

我在做 4K 视频编码优化时发现,对于大面积的平坦区域(比如天空、墙壁),H265 可以用 64×64 的大块一次性编码,码率省得飞起。而 H264 只能用 16×16 的块,还得一个个处理,效率差远了。

1.3.2 更精细的帧内预测

H264 只有 9 种帧内预测模式,H265 扩展到了 35 种。多了 26 种方向预测,对于纹理复杂的区域,预测精度大幅提升。

我记得有一次做屏幕内容编码,H264 在文字区域总是出现锯齿,换了 H265 之后,文字边缘平滑多了。这就是帧内预测模式多的好处。

1.3.3 样点自适应补偿(SAO)

这是 H265 新增的环路滤波技术。H264 只有去块滤波,处理完块效应之后,图像边缘还是会有一些振铃效应。SAO 就是专门干这个的——它对重建后的像素做自适应补偿,让图像更干净。

我做过对比:同样码率下,开了 SAO 的 H265 视频,主观质量明显比 H264 好。尤其是在低码率场景下,SAO 能减少很多视觉伪影。

1.3.4 多级并行架构

H265 引入了 Tile、WPP(Wavefront Parallel Processing)和 Slice 三种并行机制。这在多核 CPU 和 GPU 上特别有用。

我当年在做一个 8K 实时编码项目时,就是靠 Tile 把画面切成 4 块,每块分配给一个编码核心,才勉强跑到了 60fps。要是用 H264,单核编码根本不可能实时。

个人经验: 在实际项目中,我建议优先使用 WPP 并行模式。它比 Tile 的码率损失小,而且对编码器改动最小。Tile 虽然并行度高,但会引入块边界质量下降的问题,需要额外处理。

1.4 应用场景分析

H265 的应用场景,说白了就是「H264 搞不定的地方」。我列几个典型的:

  • 4K/8K 超高清视频:流媒体、蓝光、电视广播。H264 压 4K 码率太高,H265 是唯一现实的选择。
  • 视频会议/远程协作:低带宽下保持清晰画质。我做过测试,H265 在 1.5Mbps 下能达到 H264 在 3Mbps 下的质量。
  • 视频监控:长时间录制,存储成本是关键。H265 能省一半的存储空间。
  • 移动端视频:手机流量贵,H265 能帮用户省流量,同时保持画质。
  • VR/AR 视频:高分辨率、高帧率,H265 的 8K 支持是刚需。

避坑指南: 我曾经在一个项目中,为了省授权费,强行用 H264 压 4K 视频。结果码率飙到 60Mbps,客户直接投诉。后来换成 H265,码率降到 25Mbps,问题解决。所以,选编码标准时别只看授权费,要算总账——带宽和存储成本往往更贵。

1.5 H265/HEVC 知识体系总览

下面这张图,是我自己整理的 H265 知识体系框架。你可以把它当成整个课程的地图,后面每一章都会对应到其中的一个模块。

H265/HEVC 知识体系总览 H265/HEVC 编码标准 编码结构 预测技术 变换与量化 环路滤波 CTU/CU/PU/TU 四叉树划分 帧内预测(35种) 帧间预测(MV) DCT/DST变换 RDOQ量化 去块滤波(DBF) 样点自适应(SAO) 并行编码:Tile/WPP/Slice 码率控制:CBR/VBR/CRF 编码工具:ASO/加权预测 4K/8K 超高清 视频会议/直播 视频监控/存储 VR/AR 沉浸式

这张图把 H265 的核心知识点分成了四个大块:编码结构、预测技术、变换与量化、环路滤波。每个大块下面又有子模块,再往下是编码工具和应用场景。后面的课程,咱们会按照这个框架,一层一层往下拆。