淘宝图片制作教程 免费淘宝图片处理软件( 三 )


6、多参考帧的选择 。为了提高压缩效率,现在的编码器会选择更多参考帧,比如在一个方向选择3到4个参考帧,我们会根据参考帧的质量,距离来做加权,选择适合的参考帧 。在拿到一个比较好的结果后如何提前跳出其它参考帧的遍历?多参考帧是提升压缩质量的一个很好选择,但需要避免计算复杂升高 。
7、Distortion的快速估计 。在RDO过程中要对误差进行仔细估计,如果用传统下的SATD做的话,效率不高,但如果做完整的RDO计算非常耗时,所以我们有残差的预估模型,从量化后的系数中用模型推导出Distortion的结果避免再做反量化,反变化 。还有像Bits估计,RDCost的另一个分量是Bits代价,用一次完整的熵编码会非常耗时,如果用一个分段线性模型能够估算出来Bits来,我们就可以快速做出RDO的计算 。
其它的比如Deblock,SAO优化偏一些工程方面手段 。
除了快速算法之外,我还对压缩性能做了一些总结,速度不变的前提下,相比于X265,我们有>30%的性能增益 。我们的编码器在以下几个方面有性能收益:
1、第一个码率控制 。码率控制的目标是把码率分配到更有价值的地方 。它分帧级别码控和块级别码控 。在帧级别码控中,我们对I帧码控和P帧码控做了精确的预分析,在块级别码控中,我们设计了增强型的Cu-tree算法 。
2、分层B帧以及参考结构的优化 。分层B帧在实现方面不难,对压缩效率方面有大的帮助 。前面介绍了GOP结构的优化,我们会对参考帧的选择会做权衡 。
3、大家知道在静止场景下,分层越多压缩效率越高,但在运动场景就不那么有效,所以我们实现了自适应的GOP Size,并自研了Scenecut算法 。能够适应不同运动强度、场景切换的需求包括淡入淡出的需求 。
4.此外,在Bi-Search,GPB,LTR这几个工具,在开源软件X265是没有的,但对提高预测效率很有帮助;MCTF工具对编码噪声的去除非常有帮助,我们将这几个技术加入到S265之后获得了5%以上的BD-rate收益 。
5、2-pass是在求解一个全局最优的Qscale,它在离线转码场景中被用到,允许对视频做更多分析,但在求解过程中,失真度量是MSE,我们对度量函数进行了重新推导,获得5%压缩性能;
6、Dynamic CRF和Pboffset,常规做法是是固定帧级P,B帧的Offset,我们会根据帧的复杂度来调节帧级QP值;
7、AQ和RDO的代价计算通常基于MSE,但如果是针对SSIM指标的话,可以推导SSIM的模型,RD也一样 。
8、针对会议场景,我们还实现了IBC工具,对PPT投屏有帮助 。并专门设计了对屏幕内容优化的搜索算法,传统的快速算法如菱形搜索、六边形搜索在SCC场景下效率很低,很难找到最优解,但如果用自研的算法搜索就有较好的效率提升 。
上述是S265技术的介绍,记得在2016年的时候,金山KS265第一次参加MSU比赛获得了非常好的成绩,后来国内有不少同行参赛也获得了不错的名次 。阿里巴巴S265从2017年开始投入研究到2020年首次参加MSU比赛, 我们在比赛中获得了3项第一:1080P 30FPS PNSR指标第一、1080P 1FPS PNSR指标第一、1080P 30FPS主观质量第一 。
2.2 场景自适应编码除了核心编码器之外,在编码器应用方面,我们还自研了一套场景自适应编码方法,分为三个步骤:
1、视频分析:利用机器学习方法做视频切分,并得到高层语义分类,比如动画,体育,秀场,商品介绍等;
2、另一个维度看利用信号分析手段检测出视频的底层特征,比如运动强度,纹理特征,噪声强度,亮度特征等,根据高低维度信息决定编码参数 。
3、自适应决策引擎(ADE):根据语义特征和信号特征以及网络状况,决策出最佳编码参数组合 。这个决策过程被建模为一个带约束优化模型;

推荐阅读