av1编码--编码块的预测约束条件

发布时间:2026/5/26 16:24:02

av1编码--编码块的预测约束条件 目录3.3编码块的预测约束条3.3编码块的预测约束条件硬件解码器的核心计算单元通常是围绕超级块设计的。如果将超级块的大小从 64×64 增加到 128×128核心计算单元所需的硅面积将增加约 3 倍。为了降低解码器的硬件设计复杂度只有尺寸小于或等于 64×64 的像素区域才被允许使用帧内预测模式。另外帧内预测模式虽然是以编码块为基本单元进行编码的但是真正的帧内预测却不是以编码块为基本单元来进行的。正如即将在 3.4 节介绍的那样为了捕捉预测残差的空域和频域特性AV1 允许把编码块分割成多个变换块。当编码块被分割成多个变换块时以编码块为基本单元进行帧内预测时待预测像素与参考像素之间的距离有时会跨越多个变换块从而导致帧内预测的准确性下降。为了提高帧内预测的准确性AV1 的帧内预测是以变换块为基本单元进行的。所以当编码块的尺寸是 128×128 时该编码块会被强制划分为 4 个尺寸为 64×64 的变换块。图 3-8 为 8×8 的编码块被分割成 4 个 4×4 的变换块在水平帧内预测模式下的参考像素示意图。如果帧内预测以编码块为单位进行则待预测像素与参考像素之间跨越了一个变换块如图 3-8a 所示。而在以变换块为单位的帧内预测中预测像素使用的是与其直接相邻的左侧 / 上方变换块的重构像素值作为参考像素所以预测像素与参考像素之间的距离更近如图 3-8b 所示。因此基于变换块的帧内预测的准确性更高。在图 3-8b 中预测像素将其左侧相邻变换块的重构像素作为参考像素。从中可见相比于图 3-8a 中预测像素与参考像素之间的距离图 3-8b 中预测像素与参考像素的距离更近。图3-8包含4个变换块的8x8编码块在水平帧内预测模式下的参考像素示意图在另一个的极端情况下如文献 [1] 所述使用 4×4 编码块会增加 YUV420 格式视频的最差编码延迟这种情况发生在所有编码块都是 4×4 亮度像素并且使用帧内预测模式进行编码时。这是因为在 4×4 编码块的帧内预测中每个 2×2 色度块都需要经过帧内预测和变换编码。由于帧内预测需要使用相邻块的重构像素作为参考像素所以对每个 2×2 色度块执行帧内预测会极大地增加色度分量的解码复杂度。为了降低色度分量的解码复杂度AV1 采用一种基于编码块尺寸限制的色度块编码模式。对于色度采样格式为 4:2:0 的视频当编码块的尺寸是 4×H 或者 W×4 时它所对应的色度块尺寸是 2×H/2 或者 W/2×2。在基于编码块尺寸限制的色度块编码模式下尺寸为 2×H/2 或者 W/2×2 的色度块可以做帧间预测但是不允许做帧内预测。为此在编码过程中AV1 把多个 2×H/2 或者 W/2×2 色度块合并成一个尺寸为 4×N 或者 N×4 的色度块并且把这个尺寸为 4×N 或者 N×4 的色度块与其中一个亮度编码块绑定在一起进行编码。在这种情况下只有与色度块绑定的编码块存在色度分量并且其色度分量块大小是 4×N 或者 N×4而其余编码块是没有色度分量的。在预测过程中如果每一个 2×H/2 或者 W/2×2 色度块所对应的亮度块是采用帧间预测模式则这个 4×N 或者 N×4 色度块将以 2×H/2 或者 W/2×2 色度块为基本单位进行帧间预测每个 2×H/2 或者 W/2×2 色度块使用其对应亮度块的运动信息。否则即有一个 2×H/2 或者 W/2×2 色度块所对应的亮度块采用帧内预测模式这个 4×N 或者 N×4 色度块将使用与其绑定的亮度块的预测模式进行预测。在这种情况下当与其绑定的亮度块是帧间预测时这个 4×N 或者 N×4 色度块将使用该亮度块的运动信息以 4×N 或者 N×4 为单位执行帧间预测。当与其绑定的亮度块是帧内预测时这个 4×N 或者 N×4 色度块也将使用帧内预测模式以 4×N 或者 N×4 为单位执行帧内预测。下面以一个被分割成 4×4 编码块的 8×8 块为例来说明这种基于编码块尺寸限制的色度块编码模式的编码方法如图 3-9 所示其中黑色圆点表示亮度像素灰色圆点表示色度像素。图3-9基于编码快尺寸限制的色度块编码模式示意图在这个示例中AV1 将把 4 个 4×4 编码块所对应的 4 个 2×2 色度块合并成一个 4×4 的色度块图 3-9b 黑色边框标记并把该 4×4 色度块与图 3-9a 右下角的 4×4 编码块绑定在一起进行编码。所以图 3-9a 中只有右下角的 4×4 编码块存在色度分量并且其色度分量块大小是 4×4而其余 3 个 4×4 编码块是没有色度分量的。这个 4×4 的色度块预测方案可以描述如下如果 4 个 4×4 编码块包含一个或多个帧内预测编码块那么该 4×4 色度块使用图 3-9a 右下角的 4×4 编码块的预测模式进行预测。当图 3-9a 右下角的 4×4 亮度编码块使用帧间预测模式时这个 4×4 的色度块将使用图 3-9a 右下角的 4×4 亮度编码块的运动信息执行 4×4 块大小的帧间预测。当图 3-9a 右下角的 4×4 亮度编码块使用帧内预测模式时这个 4×4 的色度块将执行 4×4 块大小的帧内预测。如果 4 个 4×4 编码块都是帧间预测块则这个 4×4 色度块以 2×2 色度块图 3-9b 黑色边框中的划分方式为基本单位进行帧间预测每个 2×2 色度块使用其对应的 4×4 块大小亮度块的运动信息。

相关新闻