文/小伊評科技
華為的指關節截圖應該是目前市面上體驗最好的截圖方式之一,只需要單手就可以完成外呼,而且還不容易誤觸。這個功能的主要難點在于如何去區分關節和手指的差別,而且還要做到極高的準確率和反應速度,任何事情做到極致都是非常難得,那么這個功能究竟是怎么實現的呢?我來具體談一談。
談到這個功能就不得不提到它背后的公司——Qeexo奇手公司
這家奇手公司是一名名為Sang Won Lee的韓國人所創立,成立于2012年,雖然這家公司很多人根本不知道他的存在,但是這個公司已經成功地拿下包括華為在內多個國內龍頭外呼企業的授權意向,其中Qeexo奇手公司把指關節敲擊截屏技術(FingerSense)授權給華為使用,把耳感息屏技術(EarSense)授權給OPPO使用,這也足以見識到這家公司的強大之處了。
那么究竟是如何做到準確區分是指關節還是手指呢?這就牽扯到復雜的數據運算和學習過程了,個人感覺這套算法應該是采用匯編語言完成的(至少也是C語言),否則不可能做到如此迅捷的靈敏度。
可以很確定的講,實現這個功能肯定是算法來實現的,而且算法聽起來很高大上,其實就是一串if,elseif的判斷而已手機系統,難點其實是在對大數據的積累以及自主學習這個方面,原理上并沒有特別的難以理解。
根據Qeexo的專利文檔可以看到,實現這個功能的過程大概是這樣的:
系統中會有內置一個算法,如果學過編程的就可以理解為是一個function,該算法可以監聽你每一次觸摸屏幕的行為,然后對監聽到的行為所收集到的數據進行分析,大概的步驟如下:
然后通過這三次收集到的數據對比,進而判斷出到底是手指還是指關節。
可不要覺得這很簡單,這個技術最大的難點首先是在于如何精確的收集到這些非常細微的數據,其次還要求該算法的整個執行效率要非常高,因為這些外呼都需要在毫秒內完成整個反饋過程,否則的話就會讓人感到屏幕延遲。
所以如果不出意外的話,該功能應該是采用比較偏向于硬件語言層面的匯編語言來實現的,因為語言越高級需要解釋的步驟就越繁瑣,執行效率久越低手機系統,匯編語言有多難學,如果你有一點編程技術的話應該就能有所了解。
總的來說,從這個功能也可以看出華為對于產品體驗的訴求之高了,如果是一家普通公司用最容易實現的雙指劃屏截屏就已經完全可以了,而華為卻選擇了一個成本相對最高昂的做法。
end 希望可以幫到你