微帧aurora-av1filmgrain编码技术的运用

“胶片成像的颗粒感 , 是数字影像无法复制的独特魅力 。”著名导演克里斯托弗·诺兰在《信条》上映时表示 。作为胶片电影的忠实追随者 , 自处女作起 , 诺兰每一部影片都采用胶片进行拍摄 , 其中包括《星际穿越》《盗梦空间》等风靡全球的著作 。
诺兰导演口中的“胶片成像的颗粒感” , 正是本文要讨论的FilmGrain(胶片颗粒) 。
为何FilmGrain作为一种噪声 , 却能得到大量导演和观众的喜爱?其实是因为在某些特定的非线性系统中 , 噪声的存在能够增强微弱信号的检测能力 , 这种现象就称为随机共振 。而在图像系统中 , 在一定噪声(如FilmGrain)强度条件下 , 图像视觉质量可以达到更优的效果 。
因此 , FilmGrain作为影视创作意图的一部分 , 在对视频进行编码时 , 有效保留FilmGrain是非常重要的 。
但FilmGrain作为图像噪声 , 分布和大小都不规则 , 具有随机性 。FilmGrain的随机性使得传统编码技术难以有效压缩 , 同时也使得预测变得非常困难 , 运动估计的精度也会降低 。
就此 , 微帧科技在微帧AuroraAV1基础上研发了FilmGrain编码技术 , 此技术已成功应用于某知名PGC视频平台 , 并获得了客户及平台用户的认可 。
使用AV1能更高效地保留与合成FilmGrain 。因为传统视频标准在制定时 , 并没有将FilmGrain加进标准 , 运用传统编码方式对视频编码 , 容易造成grain分布不均匀、保留不完整等问题 。而AV1在制定时就把FilmGrain处理工具加进了标准 , 对于FilmGrain编码和解码的支持度更高 。
与开源libaom相比 , 微帧Aurora-AV1的优势在于编码速度更快、效率更高 , 其次是能支持10bitFilmGrain的去噪处理;并且 , 在开源libaom编码器上保留grain容易出现明显的banding , 微帧Aurora-AV1的自适应量化模式也能更好的避免这种情况 。
微帧aurora-av1filmgrain编码技术的运用
文章图片

文章图片
banding示意
针对不同类型的grain , 微帧科技采用Aurora-AV1视频编码器进行了3个方向的尝试:去噪+合成(GrainSynthesis)、直接保留(GrainPreservation)、保留+合成(Preservation+Synthesis) 。01.去噪+合成(GrainSynthesis)
GrainSynthesis是通过去噪处理去除视频中的grain , 并估计出grain参数 , 这些参数将随压缩视频流一起发送至解码器 , 解码后 , 再将grain合成并添加到重建的视频帧中 。
微帧aurora-av1filmgrain编码技术的运用
文章图片

文章图片
此方法有助于保存已编码视频的grain外观 , 与直接对grain进行编码比 , 能保持更低的码率 。
但GrainSynthesis的缺点在于:合成过程中的第一步需要生成一个64x64的模板 , 之后随机从模板中选取一个32x32的块 。在选取的时候 , x,、y的坐标需要小于32 , 导致相邻块选取的32x32块会有重叠 , 且朝向一致 , 在grain强的序列中的平坦区域非常容易产生pattern , 以及明显的artifacts 。
就此问题 , 微帧的解决方法是:选取grain的种子 , 只采用pattern没那么明显的种子进行合成 。
【微帧aurora-av1filmgrain编码技术的运用】
微帧aurora-av1filmgrain编码技术的运用
文章图片

文章图片
左:源视频;右:通过微帧Aurora-AV1编码合成的grain;两者几乎无差02.直接保留(GrainPreservation)
若源视频中的FilmGrain是未经压缩的 , 可以用AV1FilmGrain工具进行重建;但对于已被转码压缩的视频 , 则很难重建 。因为grain经过压缩后 , 会出现低频分量 , 产生一定的pattern , 这些很难用ARmodel完全表示出来 。因此 , 对于明显有低频分量的grainpattern , 需要通过直接编码的方式进行保留 。