在高效视频编码HEVC/H.265标准中环路滤波In-Loop Filtering是提升压缩效率和重建图像质量的关键技术之一。由于 HEVC 采用了基于块的混合编码框架包含预测和变换在低码率下不可避免地会引入块效应Blocking Artifacts**和**振铃效应Ringing Artifacts。为了消除这些失真HEVC 在解码环路中引入了两种级联的滤波技术去块滤波Deblocking Filter, DBF主要用于消除由块预测和变换引起的边界不连续性块效应。样点自适应补偿Sample Adaptive Offset, SAO在 DBF 之后执行用于减少时域预测或频域量化带来的波形失真振铃效应和像素偏移恢复图像的边缘和纹理细节。这两种滤波器都处于编码环路之内In-Loop意味着滤波后的图像将作为后续帧预测的参考帧。因此环路滤波不仅能改善视觉质量还能显著降低预测残差从而提高编码效率。去块滤波Deblocking Filter, DBFHEVC 的去块滤波机制在 H.264/AVC 的基础上进行了大幅度优化旨在降低硬件实现复杂度同时保持或提升滤波效果。滤波边界的确定与并行设计H.264 的 DBF 是以4×44 \times 44×4的块为最小单位进行的边界判断和滤波操作交织在一起数据依赖性极高难以进行多线程或流水线并行处理。为了解决这一痛点HEVC 引入了全新的8×88 \times 88×8网格化滤波策略最小滤波粒度DBF 只对8×88 \times 88×8大小网格的边界进行处理。如果预测块PU或变换块TU的边界没有对齐到8×88 \times 88×8的网格上则直接跳过不进行滤波。解除数据依赖在处理水平边界垂直滤波时不会影响到相邻垂直边界水平滤波的输入像素。这种设计使得整张图像的垂直边界滤波和水平边界滤波可以实现全帧级别的并行处理或高效的流水线架构。边界滤波强度Boundary Strength, Bs的判定去块滤波是一把双刃剑过度滤波会导致图像模糊。因此系统必须先评估边界的虚假失真严重程度。HEVC 将边界滤波强度Bs精简为三个等级0、1、2而 H.264 中则有五个等级0 到 4。对于亮度分量Bs 的判定逻辑如下条件判定Bs 值含义边界两侧的块至少有一个属于帧内预测Intra2强滤波帧内预测误差大块效应明显边界两侧的块均属于帧间预测且满足以下任一条件 1. 至少一个块包含非零残差系数2. 两侧块的运动矢量MV差值大于等于 1 个正方形像素 3. 两侧块参考不同的帧或 MV 数量不同1常规滤波上述条件均不满足如运动连续、无残差的平坦区域0不滤波对于色度分量由于人眼对色度失真相对不敏感只有当Bs 恒等于 2且对应边界处于帧内预测块时才对色度边界进行滤波其余情况Bs 1 或 0色度边界一律不滤波。滤波开关控制与阈值判定确定了 Bs 0 后并不意味着一定会执行滤波。因为边界处可能原本就是真实的物边缘此时若误执行滤波会破坏图像纹理。HEVC 通过提取边界两侧的 4 行或 4 列像素进行局部平坦度判定。引入两个量化参数QP相关的阈值β\betaβ和tCt_CtC。算法通过计算垂直于边界的像素二阶导数变化率来评估平坦度d∣p2,0−2p1,0p0,0∣∣p2,3−2p1,3p0,3∣∣q2,0−2q1,0q0,0∣∣q2,3−2q1,3q0,3∣d |p_{2,0} - 2p_{1,0} p_{0,0}| |p_{2,3} - 2p_{1,3} p_{0,3}| |q_{2,0} - 2q_{1,0} q_{0,0}| |q_{2,3} - 2q_{1,3} q_{0,3}|d∣p2,0−2p1,0p0,0∣∣p2,3−2p1,3p0,3∣∣q2,0−2q1,0q0,0∣∣q2,3−2q1,3q0,3∣只有当dβd \betadβ时滤波开关才开启。随后算法还会进一步区分是采用强滤波Strong Filtering**还是**弱滤波Weak Filtering强滤波如果区域极度平坦满足额外大范围平坦度公式说明块效应在视觉上极度明显。此时会对边界两侧各 3 个像素共 6 个像素进行修正修正幅度较大以彻底平滑边界。弱滤波若不满足强滤波条件则判定为弱滤波。此时根据局部边缘斜率仅修正边界两侧各 1 到 2 个像素并利用阈值tCt_CtC严格限制像素值的最大修正量Clips防止引入过冲伪影。语法设计序列与图像层的全局开关在 SPS 和 PPS 中设计了控制全局 DBF 的核心标志位pps_deblocking_filter_disabled_flag全局去块滤波禁用标志。如果为 1则整幅图像完全关闭 DBF。pps_beta_offset_div2和pps_tc_offset_div2全局量化参数QP偏移量。这两个语法元素允许编码器在 PPS 层对计算阈值β\betaβ和tCt_CtC的边界参数进行微调范围通常在−6∼6-6 \sim 6−6∼6之间实际值需乘以 2。这使得编码器可以根据视频的主观纹理特性如平坦场景或复杂纹理场景全局控制滤波的平滑程度。条带层的局部覆盖HEVC 允许在 Slice Header 中对 PPS 的全局设置进行覆盖Override以实现图像内部不同区域的自适应deblocking_filter_override_flag如果该标志为 1说明当前 Slice 将启用特定的 DBF 参数覆盖 PPS 的默认配置。slice_beta_offset_div2/slice_tc_offset_div2当前 Slice 专属的阈值偏移量。块级CU/PU/TU的零语法设计这是 HEVC DBF 的核心高明之处在 CTU 和 CU 级别没有任何专门针对 DBF 的语法元素。解码器完全依赖前文所述的边界滤波强度Bs派生算法。解码器通过读取当前 CU 的预测模式Intra/Inter、变换系数Cb/Cr/Y 的残差标志cbf以及运动矢量MV在本地直接计算出 Bs 值并据此判断是否滤波。这种“完全基于推导”的设计让 DBF 在块级别实现了零码率开销。样点自适应补偿Sample Adaptive Offset, SAO去块滤波DBF虽然有效解决了块与块之间的阶跃型纹理割裂但无法解决整个编码块内部由于高频系数被量化抛弃而导致的整体波形畸变如高反差边缘两侧的“振铃效应”。HEVC 首次引入的SAO样点自适应补偿处于 DBF 之后。其核心思想是对重建像素进行分类并对整张图像中属于同一类别的像素加上一个特定的偏移量Offset使其在统计意义上更逼近原始图像。SAO 的基本处理单元是最大编码单元CTU。在码流中每个 CTU 都会配置相应的 SAO 参数主要分为两大类边缘补偿Edge Offset, EO和带状补偿Band Offset, BO。边缘补偿Edge Offset, EO边缘补偿类似于一个一维的二阶高通滤波器。它通过比较当前像素ccc与其沿特定方向的两个相邻像素aaa和bbb的灰度值大小来识别当前像素所处的“局部边缘形态”。方向划分EO 定义了 4 种一维方向模式EO_0 (水平方向)检查左、右相邻像素[1,0][1, 0][1,0]EO_1 (垂直方向)检查上、下相邻像素[0,1][0, 1][0,1]EO_2 (135∘135^\circ135∘对角)检查左上、右下相邻像素[1,1][1, 1][1,1]EO_3 (45∘45^\circ45∘对角)检查右上、左下相邻像素[−1,1][-1, 1][−1,1]类别Category判定在选定方向后根据当前像素ccc与两侧像素a,ba, ba,b的大小关系将像素归为 5 个类别类别 (Category)局部波形形态数学判定条件补偿符号倾向1局部波谷 (Local Min)cac aca且cbc bcb(向上拉高)2凹角边 (Edge/Valley)(cac aca且cbc bcb) 或 (cac aca且cbc bcb)(向上拉高)3凸角边 (Edge/Peak)(cac aca且cbc bcb) 或 (cac aca且cbc bcb)−-−(向下拉低)4局部波峰 (Local Max)cac aca且cbc bcb−-−(向下拉低)0平缓区 / 单调区不满足上述任何条件0 (不补偿)通过这种分类编码器可以精准捕捉到由于量化导致的纹理下陷类别 1、2或纹理过冲类别 3、4并通过发送正/负偏移量进行平滑修复对抑制边缘的振铃效应有显著效果。带状补偿Band Offset, BO与关注空间几何特征的 EO 不同带状补偿BO完全基于像素的亮度/色度值取值范围区间进行分类。对于 8-bit 图像像素取值范围为0∼2550 \sim 2550∼255。BO 将这一取值空间均等地划分为32 个带Bands每个带覆盖 8 个像素值即BandiBand_iBandi包含的像素范围为[8i,8i7][8i, 8i7][8i,8i7]。补偿逻辑在一个 CTU 内部编码器挑选出连续的 4 个频带作为需要补偿的区域并在码流中传输这 4 个频带的起始条带索引Start Band Index。属于这 4 个连续频带范围内的所有像素直接加上对应频带传输的独立偏移量Offset。落在其余 28 个频带内的像素则不进行任何处理。BO 的主要作用是修复大面积平坦区域如天空、皮肤、渐变背景因量化引起的系统性色彩断层Color Banding或平均亮度偏差。语法设计高级语法层开关在 SPS 层设计了两个简单的全局使能信号sample_adaptive_offset_enabled_flag确定当前序列是否开启 SAO。在 Slice Header 中还会进一步细分为slice_sao_luma_flag亮度开关和slice_sao_chroma_flag色度开关。CTU 层的核心语法元素SAO Syntax一旦 Slice 开启 SAO每个 CTU 数据的开头都会嵌入一段紧凑的 SAO 语法块。为了节省码率所有 SAO 参数都使用上下文自适应二进制算术编码CABAC进行熵编码。一个标准 CTU 的 SAO 语法包含以下核心元素模式选择语法sao_type_idx用于指示当前 CTU 采用哪种 SAO 补偿方式。该语法被高度压缩为一个非负整数0不进行 SAO 补偿OFF。1频带补偿BO 模式。2边缘补偿EO 模式。细节模式与类别索引sao_eo_class/sao_band_position如果是 EO 模式传输sao_eo_class占 2 bits指示 4 个一维方向0∘,90∘,135∘,45∘0^\circ, 90^\circ, 135^\circ, 45^\circ0∘,90∘,135∘,45∘。具体的像素 1~4 类别由解码器内部根据像素关系自行动态分类不占用码率。如果是 BO 模式传输sao_band_position占 5 bits指示 32 个频带中连续 4 个被补偿频带的起始频带索引Start Band Index。偏移量绝对值与符号sao_offset_abs/sao_offset_sign针对选定的 4 个类别EO 的 Class 1~4或 4 个连续频带BOsao_offset_abs传输 4 个绝对偏移值。为了防止过度改变图像导致失真标准限制了最大偏移量通常范围在0∼70 \sim 70∼7或0∼150 \sim 150∼15之间。sao_offset_sign符号位。在 BO 模式下每个偏移量都需要单独传输正负号。在 EO 模式下不需要传输符号位因为语法设计严格绑定了物理形态——局部波谷类别 1、2必然需要加上正补偿局部波峰类别 3、4必然需要加上负补偿。解码器直接根据类别隐式推导符号从而在 EO 模式下省去了 4 bits 的符号传输开销。SAO语法设计的极致优化复用Merge机制如果在高清如 4K视频中为每个 CTU 都传输一套独立的类型和 4 个 Offset 值累加起来的语法码率将是非常恐怖的。为了解决这个问题HEVC 引入了时空域语法复用机制SAO Merge。在解析一个 CTU 的 SAO 参数前解码器会首先读取两个极其高效的布尔标志位sao_merge_left_flag左复用若为 1当前 CTU 直接拷贝左侧邻近 CTU 的所有 SAO 参数包括类型、方向、频带位置及 4 个 Offset 值当前 CTU 后续的 SAO 语法全部省去。sao_merge_up_flag上复用若左复用为 0则检查此标志。若为 1直接拷贝上方邻近 CTU 的全套 SAO 参数。这种设计的妙处视频图像中的天空、草地、墙壁等大面积背景通常横跨多个 CTU。通过这一机制编码器只需要在区域左上角的第一个 CTU 传输完整的 SAO 参数后续大片 CTU 均只需要发射 1 个 bit 的sao_merge_left_flag 1即可完成配置。在实际编码码流中有超过 70% ~ 80% 的 CTU 都是通过 Merge 标志结束 SAO 语法解析的。这一巧妙的语法架构设计用极低的信令代价换取了全帧全盘的样点自适应补偿是 HEVC 码率控制的经典之作。去块滤波与 SAO 的对比与协作架构DBF 和 SAO 虽然在环路中处于串联状态但其底层逻辑、解决的痛点及开销有着本质的区别特性维度去块滤波 (DBF)样点自适应补偿 (SAO)主要解决问题消除块边界的不连续性块效应消除波形失真、振铃效应、色彩断层处理位置仅限于 PU / TU 的8×88 \times 88×8网格边界CTU 内部的全盘所有像素视分类而定数据依赖度依赖边界两侧相邻块的预测模式、MV 及残差仅依赖当前像素及紧邻的 2 个像素EO 模式下语法开销几乎不占用额外码率完全通过既有语法推导需要在 CTU 级别传输类别协同工作流在 HEVC 解码反变换与反量化、并与预测值相加生成原始重建图像后数据流入环路滤波管线重构像素输入执行 DBF扫描全帧的8×88 \times 88×8水平与垂直边界区分强/弱滤波并改写边界像素执行 SAO以 CTU 为单位依据码流中的 SAO 类型EO/BO计算当前像素分类直接累加偏移量输出最终参考图像写入 DPB 解码图片缓冲区供后续帧参考同时输出显示。结论HEVC 的环路滤波技术展现了现代视频编码标准在高性能与高并发硬件实现之间的精妙平衡。去块滤波DBF通过精简边界强度等级和引入8×88 \times 88×8滤波网格彻底打破了 H.264 时代的像素级串行瓶颈完美契合了现代多核处理器与超大规模集成电路VLSI的并行流水线架构。而样点自适应补偿SAO则另辟蹊径从统计学和一维空间几何的视角出发通过低复杂度的边缘和时域带状像素分类用极小的时钟开销和码流语法代价换取了显著的信噪比PSNR提升并大幅改善了低码率下人眼对振铃效应和颜色断层的感官体验。两者相辅相成共同铸就了 HEVC 强大的高压缩鲁棒性。
HEVC(一):环路滤波
在高效视频编码HEVC/H.265标准中环路滤波In-Loop Filtering是提升压缩效率和重建图像质量的关键技术之一。由于 HEVC 采用了基于块的混合编码框架包含预测和变换在低码率下不可避免地会引入块效应Blocking Artifacts**和**振铃效应Ringing Artifacts。为了消除这些失真HEVC 在解码环路中引入了两种级联的滤波技术去块滤波Deblocking Filter, DBF主要用于消除由块预测和变换引起的边界不连续性块效应。样点自适应补偿Sample Adaptive Offset, SAO在 DBF 之后执行用于减少时域预测或频域量化带来的波形失真振铃效应和像素偏移恢复图像的边缘和纹理细节。这两种滤波器都处于编码环路之内In-Loop意味着滤波后的图像将作为后续帧预测的参考帧。因此环路滤波不仅能改善视觉质量还能显著降低预测残差从而提高编码效率。去块滤波Deblocking Filter, DBFHEVC 的去块滤波机制在 H.264/AVC 的基础上进行了大幅度优化旨在降低硬件实现复杂度同时保持或提升滤波效果。滤波边界的确定与并行设计H.264 的 DBF 是以4×44 \times 44×4的块为最小单位进行的边界判断和滤波操作交织在一起数据依赖性极高难以进行多线程或流水线并行处理。为了解决这一痛点HEVC 引入了全新的8×88 \times 88×8网格化滤波策略最小滤波粒度DBF 只对8×88 \times 88×8大小网格的边界进行处理。如果预测块PU或变换块TU的边界没有对齐到8×88 \times 88×8的网格上则直接跳过不进行滤波。解除数据依赖在处理水平边界垂直滤波时不会影响到相邻垂直边界水平滤波的输入像素。这种设计使得整张图像的垂直边界滤波和水平边界滤波可以实现全帧级别的并行处理或高效的流水线架构。边界滤波强度Boundary Strength, Bs的判定去块滤波是一把双刃剑过度滤波会导致图像模糊。因此系统必须先评估边界的虚假失真严重程度。HEVC 将边界滤波强度Bs精简为三个等级0、1、2而 H.264 中则有五个等级0 到 4。对于亮度分量Bs 的判定逻辑如下条件判定Bs 值含义边界两侧的块至少有一个属于帧内预测Intra2强滤波帧内预测误差大块效应明显边界两侧的块均属于帧间预测且满足以下任一条件 1. 至少一个块包含非零残差系数2. 两侧块的运动矢量MV差值大于等于 1 个正方形像素 3. 两侧块参考不同的帧或 MV 数量不同1常规滤波上述条件均不满足如运动连续、无残差的平坦区域0不滤波对于色度分量由于人眼对色度失真相对不敏感只有当Bs 恒等于 2且对应边界处于帧内预测块时才对色度边界进行滤波其余情况Bs 1 或 0色度边界一律不滤波。滤波开关控制与阈值判定确定了 Bs 0 后并不意味着一定会执行滤波。因为边界处可能原本就是真实的物边缘此时若误执行滤波会破坏图像纹理。HEVC 通过提取边界两侧的 4 行或 4 列像素进行局部平坦度判定。引入两个量化参数QP相关的阈值β\betaβ和tCt_CtC。算法通过计算垂直于边界的像素二阶导数变化率来评估平坦度d∣p2,0−2p1,0p0,0∣∣p2,3−2p1,3p0,3∣∣q2,0−2q1,0q0,0∣∣q2,3−2q1,3q0,3∣d |p_{2,0} - 2p_{1,0} p_{0,0}| |p_{2,3} - 2p_{1,3} p_{0,3}| |q_{2,0} - 2q_{1,0} q_{0,0}| |q_{2,3} - 2q_{1,3} q_{0,3}|d∣p2,0−2p1,0p0,0∣∣p2,3−2p1,3p0,3∣∣q2,0−2q1,0q0,0∣∣q2,3−2q1,3q0,3∣只有当dβd \betadβ时滤波开关才开启。随后算法还会进一步区分是采用强滤波Strong Filtering**还是**弱滤波Weak Filtering强滤波如果区域极度平坦满足额外大范围平坦度公式说明块效应在视觉上极度明显。此时会对边界两侧各 3 个像素共 6 个像素进行修正修正幅度较大以彻底平滑边界。弱滤波若不满足强滤波条件则判定为弱滤波。此时根据局部边缘斜率仅修正边界两侧各 1 到 2 个像素并利用阈值tCt_CtC严格限制像素值的最大修正量Clips防止引入过冲伪影。语法设计序列与图像层的全局开关在 SPS 和 PPS 中设计了控制全局 DBF 的核心标志位pps_deblocking_filter_disabled_flag全局去块滤波禁用标志。如果为 1则整幅图像完全关闭 DBF。pps_beta_offset_div2和pps_tc_offset_div2全局量化参数QP偏移量。这两个语法元素允许编码器在 PPS 层对计算阈值β\betaβ和tCt_CtC的边界参数进行微调范围通常在−6∼6-6 \sim 6−6∼6之间实际值需乘以 2。这使得编码器可以根据视频的主观纹理特性如平坦场景或复杂纹理场景全局控制滤波的平滑程度。条带层的局部覆盖HEVC 允许在 Slice Header 中对 PPS 的全局设置进行覆盖Override以实现图像内部不同区域的自适应deblocking_filter_override_flag如果该标志为 1说明当前 Slice 将启用特定的 DBF 参数覆盖 PPS 的默认配置。slice_beta_offset_div2/slice_tc_offset_div2当前 Slice 专属的阈值偏移量。块级CU/PU/TU的零语法设计这是 HEVC DBF 的核心高明之处在 CTU 和 CU 级别没有任何专门针对 DBF 的语法元素。解码器完全依赖前文所述的边界滤波强度Bs派生算法。解码器通过读取当前 CU 的预测模式Intra/Inter、变换系数Cb/Cr/Y 的残差标志cbf以及运动矢量MV在本地直接计算出 Bs 值并据此判断是否滤波。这种“完全基于推导”的设计让 DBF 在块级别实现了零码率开销。样点自适应补偿Sample Adaptive Offset, SAO去块滤波DBF虽然有效解决了块与块之间的阶跃型纹理割裂但无法解决整个编码块内部由于高频系数被量化抛弃而导致的整体波形畸变如高反差边缘两侧的“振铃效应”。HEVC 首次引入的SAO样点自适应补偿处于 DBF 之后。其核心思想是对重建像素进行分类并对整张图像中属于同一类别的像素加上一个特定的偏移量Offset使其在统计意义上更逼近原始图像。SAO 的基本处理单元是最大编码单元CTU。在码流中每个 CTU 都会配置相应的 SAO 参数主要分为两大类边缘补偿Edge Offset, EO和带状补偿Band Offset, BO。边缘补偿Edge Offset, EO边缘补偿类似于一个一维的二阶高通滤波器。它通过比较当前像素ccc与其沿特定方向的两个相邻像素aaa和bbb的灰度值大小来识别当前像素所处的“局部边缘形态”。方向划分EO 定义了 4 种一维方向模式EO_0 (水平方向)检查左、右相邻像素[1,0][1, 0][1,0]EO_1 (垂直方向)检查上、下相邻像素[0,1][0, 1][0,1]EO_2 (135∘135^\circ135∘对角)检查左上、右下相邻像素[1,1][1, 1][1,1]EO_3 (45∘45^\circ45∘对角)检查右上、左下相邻像素[−1,1][-1, 1][−1,1]类别Category判定在选定方向后根据当前像素ccc与两侧像素a,ba, ba,b的大小关系将像素归为 5 个类别类别 (Category)局部波形形态数学判定条件补偿符号倾向1局部波谷 (Local Min)cac aca且cbc bcb(向上拉高)2凹角边 (Edge/Valley)(cac aca且cbc bcb) 或 (cac aca且cbc bcb)(向上拉高)3凸角边 (Edge/Peak)(cac aca且cbc bcb) 或 (cac aca且cbc bcb)−-−(向下拉低)4局部波峰 (Local Max)cac aca且cbc bcb−-−(向下拉低)0平缓区 / 单调区不满足上述任何条件0 (不补偿)通过这种分类编码器可以精准捕捉到由于量化导致的纹理下陷类别 1、2或纹理过冲类别 3、4并通过发送正/负偏移量进行平滑修复对抑制边缘的振铃效应有显著效果。带状补偿Band Offset, BO与关注空间几何特征的 EO 不同带状补偿BO完全基于像素的亮度/色度值取值范围区间进行分类。对于 8-bit 图像像素取值范围为0∼2550 \sim 2550∼255。BO 将这一取值空间均等地划分为32 个带Bands每个带覆盖 8 个像素值即BandiBand_iBandi包含的像素范围为[8i,8i7][8i, 8i7][8i,8i7]。补偿逻辑在一个 CTU 内部编码器挑选出连续的 4 个频带作为需要补偿的区域并在码流中传输这 4 个频带的起始条带索引Start Band Index。属于这 4 个连续频带范围内的所有像素直接加上对应频带传输的独立偏移量Offset。落在其余 28 个频带内的像素则不进行任何处理。BO 的主要作用是修复大面积平坦区域如天空、皮肤、渐变背景因量化引起的系统性色彩断层Color Banding或平均亮度偏差。语法设计高级语法层开关在 SPS 层设计了两个简单的全局使能信号sample_adaptive_offset_enabled_flag确定当前序列是否开启 SAO。在 Slice Header 中还会进一步细分为slice_sao_luma_flag亮度开关和slice_sao_chroma_flag色度开关。CTU 层的核心语法元素SAO Syntax一旦 Slice 开启 SAO每个 CTU 数据的开头都会嵌入一段紧凑的 SAO 语法块。为了节省码率所有 SAO 参数都使用上下文自适应二进制算术编码CABAC进行熵编码。一个标准 CTU 的 SAO 语法包含以下核心元素模式选择语法sao_type_idx用于指示当前 CTU 采用哪种 SAO 补偿方式。该语法被高度压缩为一个非负整数0不进行 SAO 补偿OFF。1频带补偿BO 模式。2边缘补偿EO 模式。细节模式与类别索引sao_eo_class/sao_band_position如果是 EO 模式传输sao_eo_class占 2 bits指示 4 个一维方向0∘,90∘,135∘,45∘0^\circ, 90^\circ, 135^\circ, 45^\circ0∘,90∘,135∘,45∘。具体的像素 1~4 类别由解码器内部根据像素关系自行动态分类不占用码率。如果是 BO 模式传输sao_band_position占 5 bits指示 32 个频带中连续 4 个被补偿频带的起始频带索引Start Band Index。偏移量绝对值与符号sao_offset_abs/sao_offset_sign针对选定的 4 个类别EO 的 Class 1~4或 4 个连续频带BOsao_offset_abs传输 4 个绝对偏移值。为了防止过度改变图像导致失真标准限制了最大偏移量通常范围在0∼70 \sim 70∼7或0∼150 \sim 150∼15之间。sao_offset_sign符号位。在 BO 模式下每个偏移量都需要单独传输正负号。在 EO 模式下不需要传输符号位因为语法设计严格绑定了物理形态——局部波谷类别 1、2必然需要加上正补偿局部波峰类别 3、4必然需要加上负补偿。解码器直接根据类别隐式推导符号从而在 EO 模式下省去了 4 bits 的符号传输开销。SAO语法设计的极致优化复用Merge机制如果在高清如 4K视频中为每个 CTU 都传输一套独立的类型和 4 个 Offset 值累加起来的语法码率将是非常恐怖的。为了解决这个问题HEVC 引入了时空域语法复用机制SAO Merge。在解析一个 CTU 的 SAO 参数前解码器会首先读取两个极其高效的布尔标志位sao_merge_left_flag左复用若为 1当前 CTU 直接拷贝左侧邻近 CTU 的所有 SAO 参数包括类型、方向、频带位置及 4 个 Offset 值当前 CTU 后续的 SAO 语法全部省去。sao_merge_up_flag上复用若左复用为 0则检查此标志。若为 1直接拷贝上方邻近 CTU 的全套 SAO 参数。这种设计的妙处视频图像中的天空、草地、墙壁等大面积背景通常横跨多个 CTU。通过这一机制编码器只需要在区域左上角的第一个 CTU 传输完整的 SAO 参数后续大片 CTU 均只需要发射 1 个 bit 的sao_merge_left_flag 1即可完成配置。在实际编码码流中有超过 70% ~ 80% 的 CTU 都是通过 Merge 标志结束 SAO 语法解析的。这一巧妙的语法架构设计用极低的信令代价换取了全帧全盘的样点自适应补偿是 HEVC 码率控制的经典之作。去块滤波与 SAO 的对比与协作架构DBF 和 SAO 虽然在环路中处于串联状态但其底层逻辑、解决的痛点及开销有着本质的区别特性维度去块滤波 (DBF)样点自适应补偿 (SAO)主要解决问题消除块边界的不连续性块效应消除波形失真、振铃效应、色彩断层处理位置仅限于 PU / TU 的8×88 \times 88×8网格边界CTU 内部的全盘所有像素视分类而定数据依赖度依赖边界两侧相邻块的预测模式、MV 及残差仅依赖当前像素及紧邻的 2 个像素EO 模式下语法开销几乎不占用额外码率完全通过既有语法推导需要在 CTU 级别传输类别协同工作流在 HEVC 解码反变换与反量化、并与预测值相加生成原始重建图像后数据流入环路滤波管线重构像素输入执行 DBF扫描全帧的8×88 \times 88×8水平与垂直边界区分强/弱滤波并改写边界像素执行 SAO以 CTU 为单位依据码流中的 SAO 类型EO/BO计算当前像素分类直接累加偏移量输出最终参考图像写入 DPB 解码图片缓冲区供后续帧参考同时输出显示。结论HEVC 的环路滤波技术展现了现代视频编码标准在高性能与高并发硬件实现之间的精妙平衡。去块滤波DBF通过精简边界强度等级和引入8×88 \times 88×8滤波网格彻底打破了 H.264 时代的像素级串行瓶颈完美契合了现代多核处理器与超大规模集成电路VLSI的并行流水线架构。而样点自适应补偿SAO则另辟蹊径从统计学和一维空间几何的视角出发通过低复杂度的边缘和时域带状像素分类用极小的时钟开销和码流语法代价换取了显著的信噪比PSNR提升并大幅改善了低码率下人眼对振铃效应和颜色断层的感官体验。两者相辅相成共同铸就了 HEVC 强大的高压缩鲁棒性。