2、HEVC/H.265前世今生:从H.264到HEVC的演进之路
聊HEVC之前,咱们得先看看它爹——H.264。说实话,H.264是个里程碑式的标准。2003年发布,到现在快二十年了,还在大量使用。我最早接触H.264是在2008年,那时候做手机视频播放器,硬件解码还没普及,全靠软解。一个720p的视频,能把双核ARM芯片跑到满负荷,发热量惊人。
但时代变了。4K来了,8K也来了。H.264再怎么优化,也扛不住这种数据量。你想想看,一个8K@60fps的原始视频,码率轻松超过40Gbps。就算用H.264压到100Mbps,画质也惨不忍睹。这时候,HEVC就登场了。
核心认知:HEVC不是H.264的简单升级,而是针对高分辨率、高帧率场景重新设计的编码体系。它的目标是在同等画质下,码率比H.264再降50%。
2.1 为什么非换不可?H.264的瓶颈
H.264的设计思路,说白了还是针对标清和高清时代的。它的宏块大小固定为16x16。对于1080p视频,16x16的划分还算合理。但到了4K/8K,画面里经常有大面积的平坦区域(比如天空、墙面),16x16的宏块太小了,需要大量冗余的块划分信息。
我在项目中遇到过一个问题:用H.264压一段4K的航拍视频,画面大部分是蓝天白云。结果码率分析发现,光是记录宏块划分的语法开销,就占了总码率的15%以上。这太浪费了。
H.264的主要瓶颈可以归纳为三点:
- 宏块尺寸太小:16x16的固定尺寸,对大分辨率场景不友好。
- 运动补偿精度有限:虽然支持1/4像素插值,但运动矢量范围受限。
- 并行处理能力弱:Slice级别的并行粒度太粗,现代GPU/多核CPU很难充分利用。
嗯,这里要注意。H.264不是不好,而是它的设计哲学决定了它更适合2K以下的分辨率。到了4K/8K时代,必须从底层重新设计。
2.2 HEVC的核心变革:从宏块到CTU
HEVC最大的变化,就是抛弃了宏块(Macroblock)的概念,引入了编码树单元(CTU,Coding Tree Unit)。CTU的大小可以配置,最大支持64x64,最小8x8。而且它是递归划分的,像一棵四叉树。
我个人习惯把CTU理解成「智能拼图」。编码器会根据画面内容,自动决定用多大的块。平坦区域用64x64的大块,纹理复杂区域用8x8的小块。这种灵活性,是H.264完全不具备的。
看个简单的划分对比:
| 特性 | H.264 | HEVC |
|---|---|---|
| 基本单元 | 宏块(16x16) | CTU(最大64x64) |
| 划分方式 | 固定网格 | 递归四叉树 |
| 子块最小尺寸 | 4x4 | 4x4 |
| 帧内预测方向 | 9种 | 35种 |
| 运动补偿精度 | 1/4像素 | 1/4像素(改进插值) |
你看,帧内预测方向从9种增加到35种。这意味着什么?对于画面中的斜线、纹理,HEVC能更精确地预测,残差更小,码率自然更低。
实战技巧:在编码8K HDR内容时,我建议把CTU大小设为64x64。虽然编码时间会增加20%左右,但码率能再降5-8%。对于8K这种码率敏感的场景,这笔账是划算的。
2.3 从H.264到HEVC的演进路线图
为了让你更直观地理解这个演进过程,我画了一张图。它展示了从H.264到HEVC,再到未来标准的脉络。
从这张图可以看得很清楚。HEVC站在H.264的肩膀上,把块尺寸从16x16提升到64x64,帧内预测从9种增加到35种。而VVC(H.266)更进一步,CTU达到128x128,帧内预测67种。每一代都在解决上一代的核心痛点。
2.4 HEVC的「隐藏技能」:并行处理架构
很多人只关注HEVC的压缩率,忽略了一个重要改进——并行处理。H.264的并行能力很弱,主要靠Slice划分。但Slice之间是独立的,划分太多会降低压缩效率。
HEVC引入了两个新工具:
- Tile:把画面分成矩形区域,每个Tile可以独立编码/解码。适合多核CPU和GPU并行。
- WPP(Wavefront Parallel Processing):按行并行处理,每一行CTU依赖上一行的解码信息,但可以错开一个CTU的延迟开始。
我曾经在一个8K实时编码项目中吃过亏。当时用HEVC的Tile模式,把画面分成4x2个Tile,每个Tile分配给一个CPU核心。结果发现Tile边界有明显的画质损失。后来改用WPP,画质问题解决了,但并行效率从4倍降到了3.2倍。嗯,这就是工程上的取舍。
避坑指南:我曾经在4K直播场景中,为了追求低延迟,把Tile数量设得太多(8个)。结果解码端出现了明显的Tile边界闪烁。后来我总结了一个经验:对于4K视频,Tile数量不要超过4个;对于8K,不要超过8个。否则边界效应会严重影响主观画质。
2.5 HEVC的专利困局
聊技术不能不聊现实。HEVC虽然技术优秀,但专利授权问题一直是个大坑。H.264的专利池主要由MPEG LA管理,授权模式相对成熟。但HEVC呢?有两个主要的专利池:MPEG LA和HEVC Advance。而且还有大量专利不在池子里,属于「散兵游勇」。
我记得2017年做产品选型时,法务部门给了一份专利风险评估报告,光是HEVC的潜在专利持有人就超过30家。最后我们不得不选择同时支持HEVC和VP9的方案,作为风险对冲。
这也是为什么AV1能快速崛起的原因之一——免费、开源、没有专利授权费。但这是后面章节的内容了。
2.6 小结:HEVC到底带来了什么?
从H.264到HEVC,不是简单的版本号升级。它是一次架构级的重构。我总结了几点核心价值:
- 压缩率翻倍:同等画质下,码率降低50%。对于8K HDR这种码率黑洞,这是救命级的提升。
- 分辨率扩展:原生支持8K(8192x4320),而H.264的官方上限是4K(4096x2304)。
- 色彩深度支持:H.264主要支持8bit,HEVC原生支持10bit和12bit。这对HDR至关重要。
- 并行架构:Tile和WPP让现代多核硬件能充分发挥性能。
当然,HEVC也不是完美的。它的编码复杂度是H.264的3-5倍,专利授权问题也一直没解决。但不可否认,它是2010年代最重要的视频编码标准,也是我们今天讨论8K HDR编码的基础。
一句话总结:HEVC用更聪明的块划分、更精细的预测、更强大的并行能力,把视频编码带入了4K/8K时代。没有HEVC,8K HDR的商业化至少要晚5年。