技术科普:如何应用视觉显著性模型优化远控编码算法?
远程控制的核心原理,说白了就是类似传输视频那样,将被控端图像远程传输至主控端,同时通过主控端输入指令实现远程控制。由此可见,远程控制之所以能在各种场景应用中流畅的进行,其图像编码策略起到的作用是十分关键的。
那么,作为国民级的远程控制软件,向日葵远程控制是如何在图像编解码策略上实施优化,进而提升远程控制体验的呢?本文就为大家介绍一下向日葵是如何通过引入视觉显著性理论,构建基于场景特征的编码策略模型,优化整个远控编解码算法的。
通用视频编码器用于远程控制的边际效应明显
目前,很多远程控制软件仍然在使用通用的视频编码器。通用的视频编码器主要面向自然风景,生产生活等视频场景,为获得指定比特率下最小的失真,编码器会进行几十次算法模型的预测计算,花费极高的性能和时间代价。而且,编码效率越高算法复杂度越大,应用在远程控制场景下的边际效应十分明显。
AVC,HEVC,VVC 等通用编码框架的边际效应
在远程控制场景中,电脑/手机屏幕显示的图像元素往往相对简单,视频的帧内/帧间编码有很大的时间/空间冗余,这些都可以进一步压缩。据此,向日葵提出了基于应用感知和视觉显著性的全新编码策略,这一策略也是向日葵自研边际算法“SADDC”算法的重要构成策略之一。
应用焦点区域与视觉显著性概念优化资源分配
向日葵基于应用焦点区域与视觉显著性概念提出的编码策略,之所以能够优化远程控制场景下的体验,核心原理在于优化比特资源的分配,向重要的区域倾斜资源,提升编解码效率。
那么如何界定远控过程中的“重点区域”呢,向日葵引入应用焦点区域与视觉显著性概念。
应用焦点区域比较容易理解:即根据当前激活的窗口窗体,并结合用户的键盘鼠标动作和光标位置,判定焦点区域。编码时,在指定的比特率下,为焦点区分配更多的比特使它更清晰,同时,降低非焦点区的编码复杂度,减小比特分配,节省编码时间。
图注:正在使用 vscode 编辑文档(右下),其他程序在播放视频,vscode 判定为应用焦点区
视觉显著性概念则基于人眼对于图像和色彩信息接受度的研究,通过算法动态判定视觉显著区,进而对重点区域进行资源倾斜。
何为“视觉显著区”
人类对于视觉信息处理的能力是有限的,100 亿视神经细胞中真正能够处理视觉信息的并不多,有研究表明,人类有效视觉如果按带宽计算仅相当于 8Mbps。
说的直观一点,肉眼视觉下我们的注意力只能集中在视觉中心少数的目标上,其他的都是“余光”。而人眼的注意力会不自觉的被一些视觉上显著的元素吸引,这些元素所在的区域就是“视觉显著区”。
如何判定“视觉显著区”呢?1998 年,南加州大学的 Itti 提出基于颜色,亮度,方向三种视觉特征的显著值计算。模拟生物对图像注视点的选择性注意模型。2012 年,Stas Goferman 进一步提出了 Context-Aware Saliency Detection 算法。基本确立了判定视觉显著区的四项准则:
● 从局部特征出发,参考对比度、颜色等因素
● 识别重复特征和有特异性的特征,后者的显著性较高
● 根据 Gestalt laws,视觉组织形式通常有一个或多个显著中心
● 人脸、规则物体、认知物体具备高优先级。
视觉显著区判定
而 Context-Aware 计算的基本流程由“图像输入-局部单一特征显著性计算-全局多特征融合提升显著性-Context-aware 修正-高级特征修正”构成。
Context-Aware 显著图效果(※未添加人脸识别)
根据上述基本准则和流程,可以计算出图像中视觉显著区的位置,向日葵将这一结果与前文中应用焦点区的判定相结合,在对图像进行编解码的过程中,就可以根据相关结果动态向视觉显著区域倾斜资源,从而提升远程控制的体验,同时降低资源的占用。
总结:对自研算法的不断探索造就技术领先
在近年来远程办公等需求常态化的背景下,远程控制领域有着越来越多的玩家入局,在国内作为“守擂者”的向日葵之所以能够长期以来保有稳定的优势,与其对于自研算法的不断探索是分不开的。
本文介绍的向日葵基于应用焦点区域与视觉显著性概念的编码策略,正是其针对远程控制细分场景自研的“SADDC”算法的核心策略之一。
在核心技术的加持下,向日葵每次版本的更新都能够成功在流畅度、帧率、清晰度等方面站上一个新的台阶,推动远程控制领域的不断进步。
贝锐资深产品总监此前就表示:焦点区和视觉显著区在远程控制场景中有重要价值,在通用算法瓶颈越来越明显的大背景下,向日葵的视频编码算法仍然可以获得较大的编码效率空间,这种以场景为中心的算法演进,是贝锐“连接无处不在”使命的技术基础。
评论