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,再到未来标准的脉络。

视频编码标准演进路线 H.264/AVC 2003年发布 HEVC/H.265 2013年发布 VVC/H.266 2020年发布 核心改进:CTU + 35种帧内预测 + 改进的运动补偿 + 并行处理 H.264 时代 • 16x16宏块 • 9种帧内预测 • 适合2K以下 HEVC 时代 • 64x64 CTU • 35种帧内预测 • 适合4K/8K VVC 时代 • 128x128 CTU • 67种帧内预测 • 面向8K/16K 每代标准都在块尺寸、预测精度、并行能力上大幅提升

从这张图可以看得很清楚。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,不是简单的版本号升级。它是一次架构级的重构。我总结了几点核心价值:

  1. 压缩率翻倍:同等画质下,码率降低50%。对于8K HDR这种码率黑洞,这是救命级的提升。
  2. 分辨率扩展:原生支持8K(8192x4320),而H.264的官方上限是4K(4096x2304)。
  3. 色彩深度支持:H.264主要支持8bit,HEVC原生支持10bit和12bit。这对HDR至关重要。
  4. 并行架构:Tile和WPP让现代多核硬件能充分发挥性能。

当然,HEVC也不是完美的。它的编码复杂度是H.264的3-5倍,专利授权问题也一直没解决。但不可否认,它是2010年代最重要的视频编码标准,也是我们今天讨论8K HDR编码的基础。

一句话总结:HEVC用更聪明的块划分、更精细的预测、更强大的并行能力,把视频编码带入了4K/8K时代。没有HEVC,8K HDR的商业化至少要晚5年。