文/小伊评科技
华为的指关节截图应该是目前市面上体验最好的截图方式之一,只需要单手就可以完成外呼,而且还不容易误触。这个功能的主要难点在于如何去区分关节和手指的差别,而且还要做到极高的准确率和反应速度,任何事情做到极致都是非常难得,那么这个功能究竟是怎么实现的呢?我来具体谈一谈。
谈到这个功能就不得不提到它背后的公司——Qeexo奇手公司
这家奇手公司是一名名为Sang Won Lee的韩国人所创立,成立于2012年,虽然这家公司很多人根本不知道他的存在,但是这个公司已经成功地拿下包括华为在内多个国内龙头外呼企业的授权意向,其中Qeexo奇手公司把指关节敲击截屏技术(FingerSense)授权给华为使用,把耳感息屏技术(EarSense)授权给OPPO使用,这也足以见识到这家公司的强大之处了。
那么究竟是如何做到准确区分是指关节还是手指呢?这就牵扯到复杂的数据运算和学习过程了,个人感觉这套算法应该是采用汇编语言完成的(至少也是C语言),否则不可能做到如此迅捷的灵敏度。
可以很确定的讲,实现这个功能肯定是算法来实现的,而且算法听起来很高大上,其实就是一串if,elseif的判断而已手机系统,难点其实是在对大数据的积累以及自主学习这个方面,原理上并没有特别的难以理解。
根据Qeexo的专利文档可以看到,实现这个功能的过程大概是这样的:
系统中会有内置一个算法,如果学过编程的就可以理解为是一个function,该算法可以监听你每一次触摸屏幕的行为,然后对监听到的行为所收集到的数据进行分析,大概的步骤如下:
然后通过这三次收集到的数据对比,进而判断出到底是手指还是指关节。
可不要觉得这很简单,这个技术最大的难点首先是在于如何精确的收集到这些非常细微的数据,其次还要求该算法的整个执行效率要非常高,因为这些外呼都需要在毫秒内完成整个反馈过程,否则的话就会让人感到屏幕延迟。
所以如果不出意外的话,该功能应该是采用比较偏向于硬件语言层面的汇编语言来实现的,因为语言越高级需要解释的步骤就越繁琐,执行效率久越低手机系统,汇编语言有多难学,如果你有一点编程技术的话应该就能有所了解。
总的来说,从这个功能也可以看出华为对于产品体验的诉求之高了,如果是一家普通公司用最容易实现的双指划屏截屏就已经完全可以了,而华为却选择了一个成本相对最高昂的做法。
end 希望可以帮到你