内容感知编码
简介¶
传统转码平台使用模板方式指定某一类视频在各个分辨率下的转码码率,这种方式容易造成画面简单的视频存在带宽浪费,画面复杂的视频转码后画质较差。感知编码通过对画面内容的分析来选择合适的转码码率,近年来获得了行业关注。芒果TV通过多年沉淀,自研了基于机器学习的的镜头级感知编码方法,相比传统PerTitle内容感知编码方案大幅降低了计算开销,保障主观画质体验的前提下有效降低带宽成本。
行业方案¶
大多数分布式转码视频转码生产平台一般需要生产多个分辨率、码率的输出成品文件,以适应不同的播放终端设备。传统的解决方案是建立一种静态的分辨率与码率映射表格,比如720P分辨率使用1Mbps,1080P分辨率使用2Mbps等,这种方式实现简单但也存在以下问题:当指定的转码码率较高时,对于画面内容相对简单的视频存在带宽浪费,比如简单的2D动画片。当指定的转码码率较低时,画面内容相对复杂的视频画质体验较差,比如晚会综艺。为解决上述问题,视频感知编码近年来获得了行业内的持续关注。Netflix最早提出一种称之为PerTitle感知编码方法,该方法将视频划分成片段,对划分后的视频片段按码率递增进行多次转码,计算转码后视频的VMAF或PSNR值,通过大量的转码计算获得画质指标随码率的分布情况以指导最终转码,相比使用静态的分辨率、码率映射组合可获得更高的带宽利用率和更稳定的主观画质体验。为了提高场景划分的精度,业内在PerTitle方案的基础上引申出PerScene方法,该方法将视频按场景划分成片段,避免了同一个场景使用不同编码策略带来的画质波动。
PerTitle或PerScene对划分后的视频片段在不同分辨率上按码率递增进行多次转码,计算转码后视频的VMAF,最终形成下图所示分布曲线,图中横轴为码率,纵轴为VMAF。在分布曲线中,对画质指标VMAF所在纵轴进行档次划分,计算各划分线与分布曲线包络的交汇点,即可得到该画质指标下的相对最优的分辨率、码率组合。
芒果引擎内容感知编码¶
PerTitle或PerScene需要对不同分辨率、码率的组合进行多次转码,计算资源开销非常大。为了进一步降低预转码开销,使用机器学习对指定转码参数如分辨率、码率等下的转码画质指标进行预测替代真实计算成为了感知编码的热门方向。芒果TV提出一种基于机器学习的的镜头级分段感知编码方法,该方法以较低的计算开销实现了较好的YPSNR/VQA推理精度,从而快速获得视频片段的YPSNR/VQA分布情况,为码率决策提供有力依据,大幅降低计算开销和带宽成本。
内容感知编码优势¶
- 提高视频编码效率
内容感知编码技术可以根据视频内容的特性,有选择地分配更多的比特率给重要的视频区域,而对于不重要或静止的区域则分配较少的比特率。这样可以提高编码效率,减少不必要的数据传输和存储开销。
- 提供更好的视觉质量
通过对视频内容进行深度分析和感知建模,内容感知编码可以更好地保留视频的细节、颜色和结构,提供更清晰、更逼真的视觉质量。这可以改善用户的观看体验,并在有限的带宽条件下提供更高质量的视频。
- 自适应性和灵活性
内容感知编码可以根据不同的应用场景、网络条件和设备能力,自动调整编码参数,以适应不同的需求。这使得视频传输更具适应性和灵活性,在不同的环境中都能提供良好的性能和质量。
- 节省带宽和存储空间
通过对视频内容进行精确的编码分配,内容感知编码可以减少不必要的数据传输和存储开销,从而节省带宽和存储空间。这对于视频流媒体服务商、视频监控系统和移动设备用户来说,都具有重要的意义。
应用场景¶
- 视频流媒体服务
在视频流媒体中,内容感知编码可以根据视频内容的复杂性和重要性,自动调整编码参数,以提供更好的视频质量和更高的压缩比。这可以提高用户观看体验并减少网络带宽的使用。
- 视频会议和远程协作
在视频会议和远程协作应用中,内容感知编码可以根据不同的网络条件和设备性能,自适应地调整视频编码参数。这可以确保在低带宽或不稳定网络环境下,仍能提供流畅的视频传输和高质量的视频画面。
- 视频监控和安防
在视频监控和安防领域,内容感知编码可以根据监控画面中的运动、重要性和细节,动态调整编码参数。这可以提高视频存储效率、降低带宽需求,并确保关键信息的准确传输。
- 移动设备和无线传输
在移动设备和无线传输中,内容感知编码可以根据设备的处理能力和网络带宽,自适应地调整视频编码参数。这可以延长设备电池寿命、提高视频播放流畅性,并减少数据使用量。