视频编解码基础知识
视频编码技术框架
视频编码技术自诞生以来,不断更新换代,致力于更优的编码效率和压缩效果,而更高的压缩效率来源于更高效的编码算法。
虽然各种视频编码标准及其算法之间略有区别,但它们的编码架构都是类似的。自第一代编码标准诞生以来,各种视频编码标准均采用混合编码 (Hybrid Coding) 框架,通用处理流程依次为预测、变换、量化、熵编码,并且每个流程都以块作为处理单位。
下图是混合编码框架的示意图。
编码时,首先读入原始图像块,而后基于重建图像,选择进行帧内或帧间预测,从而得到预测图像块。原始图像块和预测图像块之差即为(变换前的)残差数据块,对其进行变化和量化之后,便可得到能量更为集中的系数数据块。系数数据块一方面会和预测模式一起经过熵编码,得到压缩后的码流;另一方面会经过反量化、反变换,得到(变换后的)残差数据块,将其与预测图像块相加即可得到重建图像块。此外,重建环路中的环路滤波可提升视频的主观和客观质量。
为了提高压缩的效果,视频编码标准会提供一系列的编码工具,而编码的过程其实就是在选择这些编码工具及其组合的过程。越先进的标准,其提供的编码工具一般也越多。
视频编码标准
H.261标准可以认为是混合编码标准的鼻祖,应用于可视电话、会议电视等方面。
H.262标准等同于MPEG-2的视频部分,支持按帧或场进行分块,应用范围包括数字卫星电视、数字有线电视等,也成为了DVD的核心技术,并且也成功地适用于后来的高清电视(HDTV)。
H.263标准则进一步提出了许多新的编码技术选项,包括无限制的运动矢量模式、基于语法的算术编码、高级预测模式、PB帧模式等,使得H.263的编码性能大大提升,成为低码率视频会议应用首选的编码算法。
H.264(AVC)标准仍然沿用混合编码框架,并在混合编码的框架下增加了对更多先进编码技术的支持,包括多方向帧内预测、多参考帧运动补偿、可变的分块大小、1/4像素精度的运动补偿、4×4及8×8整数DCT变换、内容自适应的环路去方块滤波、自适应熵编码CABAC(上下文自适应二进制算术编码)和CAVLC(上下文自适应变长编码)等。H.264具有优秀的编码性能、网络适配性以及抗出错性能。因此,H.264在视频存储、广播、交互式网络视频等方面都得到了广泛的应用,至今仍是应用最为广泛的编码标准。
H.265(HEVC)标准相较于H.264标准,在保证相同视频质量的前提下,视频编码所需的码率进一步降低了50%,并控制编码端的计算复杂度增加不超过3倍。随着网络技术以及芯片处理能力的提升,H.265的出现使得在有限的带宽下能够传输更高质量的网络视频,能够支持4K和8K超高清视频的应用。H.265标准中,典型的技术创新包括基于大尺寸四叉树(Quad-tree)块的划分技术和残差编码结构、更多角度的帧内预测、运动矢量合并模式、高精度运动补偿、自适应环路滤波等。
H.266(VVC)标准的编码效率要远超H.26x系列标准的前几代,在相同的视觉质量下,H.266的码率相较于H.265可降低40%左右。除了传统的应用领域外,H.266标准的关键应用领域还特别包括了超高清视频,高动态范围、宽色域视频、沉浸式媒体应用等。
视频编码技术发展
以下总结了H.266标准相较于H.265标准新增的部分技术[1],从中可以感受到视频编码标准的更新思路及趋势。
块划分
- CTU最大尺寸为128x128
- CU划分除四叉树外,还支持二叉树和三叉树划分
- 亮度和色度CTB可以独立划分
帧内预测
- 常规预测模式:65个角度模式、28个宽角度模式
- 矩阵加权帧内预测(MIP, Matrix-based intra prediction)
- 多参考线帧内预测(MRL, Multi-reference lines intraprediction)
- 帧内子块划分(ISP, Intra sub-partitions)
- 跨分支线性预测(CCLM, Cross-component linear model)
- 位置相关的组合预测(PDPC, Position-dependent prediction combination)
帧间预测
- 新的候选项种类:History based MV、Pairwise MV等
- 新的运动模型:仿射 (Affine)
- 新的MVD编码方式
①自适应运动适量精度 (AMVR, Adaptive MV resolution)
②带有运动矢量差值的Merge模式 (MMVD, Merge MVD)
③对称MVD模式 (SMVD, Symmetric MVD)
④解码端运动矢量修正 (DMVR, Decoder-side MV refinement)
4.新的预测模式
双向光流(BDOF, Bi-directional optical flow)、光流预测细化 (PROF, Prediction refinement with opticalflow)
变换
- 多变换核选择 (MTS, Multiple type transform)
- 大尺寸变换块高频系数置零
- 低频不可分离变换 (LFNST, Low-frequency non-separable transform)
- 子块变换 (SBT, Sub-block trans-forms)
量化
- 依赖标量量化 (DQ, Dependent quantization)
重建环路与环路滤波
- 自适应环路滤波 (ALF, Adaptive loop filter)
- 跨分量ALF (CCALF, Cross-component adaptive loopfilter)
- 环路重整形 (LMCS, Luma mapping with chroma scaling)
其他
- 色度残差联合编码 (JCCR, Joint coding of chroma residual)
- 参考图像重采样 (RPR, Reference picture resampling)
总而言之,各代视频编码标准的更迭发展,无外乎是通过更大的块尺寸、更多的分块方法、更多的帧内和帧间预测模式、更高的精度、更多的变换函数、更多的环路滤波器选择、更有适应能力的熵编码,来获取更好的压缩效率和更好的质量。