跳转到主要内容
技术原理4 分钟

视频色带:渐变天空的断层从哪来

压完的视频里天空一道一道的台阶、烟雾变成一圈一圈的环——这是色带(banding)。它不是文件坏了,而是颜色被量化的物理结果,码率不足时被进一步放大。

成因:量化的台阶

消费级视频每个颜色通道只有 8bit、256 级:从深蓝到浅蓝的天空渐变,实际可用只有两百多个亮度台阶。渐变又恰好是亮度缓慢连续变化的区域——台阶之间拉不开差距,肉眼就能看出"一层一层"的断层。10bit 有 1024 级,台阶细四倍,这就是专业流程用 10bit 的核心原因之一。

编码让问题雪上加霜:压缩是按块处理的,平坦渐变区域恰好是编码器"觉得可以省"的区域——码率不足时块与块的量化粗细不一致,台阶感被放大。大面积渐变(天空、烟雾、水下、夜景灯光晕)是最容易暴露的场景。

转码时的预防

预防色带的第一杠杆是码率:渐变内容占比高(航拍天空、舞台烟雾、日出延时)就主动把码率往上调一档——细节丰富的画面反而对码率不敏感(噪声掩盖量化),平坦渐变才是色带重灾区。第二杠杆是分辨率别虚高:放大过的低清源压 1080p,块效应与色带一起来。

转码完成后的检查点很明确:找画面里最大面积的渐变(通常就是天空),逐段看有没有台阶。航拍、延时、舞台内容压完必查天空——色带在这些内容上最先出现,也是观众最先注意到的地方。

已有的色带能救吗

说实话:很难。色带是量化时丢掉的信息,已经编码进数据里,浏览器工具没有专门的去色带滤镜——重新加抖动(dither)的算法需要重编码管线的深度介入。可行的缓解是往高码率方向重压一次:高码率下编码器保留的渐变细节更多,台阶感略缓,但已断的台阶接不回来。

源头预防永远优于事后补救:拍摄与导出环节用 10bit(设备支持时)、转码时码率给足、别反复压代——每多压一代,渐变的台阶就多一分。画质自检里把"渐变区域"列为固定检查项。

常见问题