FPD觸控手勢的應用與技術 智慧應用 影音
Vishay
DForum0620

FPD觸控手勢的應用與技術

  • DIGITIMES企劃

陞達科技股份有限公司協理 張榮舜
陞達科技股份有限公司協理 張榮舜

在當今強調多點觸控的智慧手機/行動裝置上,廠商提出藉硬體加速做手勢快速辨識的解決方案,可讓系統開發者運用觸控的好處,同時提升系統效能並降低系統耗電量……

陞達科技股份有限公司應用工程處協理張榮舜表示,陞達科技是成立10年的IC設計公司,所開發的觸控應用產品是以電容式觸控板及觸控螢幕解決方案為主。而觸控應用在GPS導航機、觸控螢幕鍵盤、手機、Tablet平板電腦、筆電TouchPad、電子遊戲機、電子書、MID行動上網裝置處處可見。相對於以往PC/NB滑鼠的操控,手勢(Gesture)更是當今觸控應用上的主流操控模式,日後也可能應用在電視、視訊會議或遊戲機上導入,成為新一代人機界面的互動模式。

手勢是觸控應用的操控關鍵

在觸控螢幕上常看到的手勢(Gesture),簡單的說是以使用者的手指藉由點、按、拖曳或移動的各種先後姿勢順序,來定義各種不同操作行為。由於使用中不需透過校準就能得到精確的觸控位置,也能做到多點觸控的操作,並達到拖曳(drag)與手勢(gesture)辨識的追蹤與互動。目前支援手勢辨識的作業系統?軟體平台有:iPhone OS、Windows Phone 7、Palm webOS、Android、OSX (trackpad)、OSX (Magic Mouse)、Microsoft Windows 7、Wacom Bamboo、GestureWorks (Flash)、Microsoft Surface等。

絕大多數觸控系統支援的核心手勢(Core Gesture)有點擊(Tap)、雙點擊(Double Tap)、拖曳(Drag)、調小/縮小(Pinch)、拉開/放大(Spread)、按(Press)、彈指輕拂(Flick)、按住與點擊(Press & Tag)、旋轉(Rotate)與掌按(palm)等。

若進一步深究,手勢又可分為主要使用功能群,如選擇的(Tap)手勢、開啟檔案時用雙擊(Doubel Tap)、以及代表變換模式的長按(Press)手勢;物件相關功能群,如按著與點擊(Press & Tag)、旋轉(Rotate);刪除動作有拖曳(Drag)、畫面比例調整則有調小/縮小(Pinch)、拉開/放大(Spread);複製動作則可用點擊(Tap)手勢,而捆綁功能則運用按著移動(Press & Tag)加上拖曳(Drag)的複合手勢,物件移動上則是按(Press)加上按著移動(Press & Tag)兩個手勢的組合。

移動功能群的手勢則有旋轉(Rotate)、拖曳(Drag)、兩指拖曳移動(2F-drag);調整畫面大小的則有兩指向中心移動的捏(Pinch)的手勢代表縮小,兩指從中心往外開的擴散(Spread)手勢代表放大;捲動視窗畫面的手勢有彈指輕拂(Flick)、點擊(Tap)、按(Press)、拖曳(Drag)、兩指拖曳移動(2F-drag)、雙擊(Double Tap);利用往返的手指拖曳(Drag),代表擦拭或擦掉畫面的手勢。

支援快速手勢辨識 可簡化應用程式介面開發

在導入絕對座標的電容式觸控螢幕/觸控板系統下,觸控板由單層或多層的樣式化(patterned)的ITO導電玻璃層來形成行、列交錯的感測單元(sensing element)矩陣;觸控系統藉由藉由背景手勢軟體函式庫的建立,當手指接觸觸控板或觸控螢幕時,造成靜電場的改變來進行偵測;並藉由計算壓下手指點與點的座標位置,以及按下的時間與移動的方式下,計算出對映的手勢。使用中不需透過校準就能得到精確的觸控位置,也能做到多點觸控的操作,並可以達到拖曳(drag)與手勢(gesture)辨識的追蹤與互動,偵測記錄及分辨出單點與多點的觸控行為。

陞達Gesture手勢產生器晶片,可在兩點觸控螢幕下,模擬出多點觸控的效果;內建101種各種觸控螢幕通用的操控手勢與相關演算法,直接以硬體IC計算方式回饋算出手勢ID碼。其優點在於:1.降低CPU/MCU 負載loading,CPU/MCU不再需要時時記錄各按下點的絕對座標,以及浪費太多時間做計算手勢的動作。2.以往使用者若劃下錯誤的手勢碼,由於先前按下的點仍然被輸入、偵測,形同CPU/MCU仍浪費了一大圈執行時間計算之後,才發覺出不正確的雜訊或不良的手勢,佔用了寶貴的CPU/MCU計算資源;若以硬體解碼方式,則當使用者寫下正確的手勢時,硬體才會偵測出並回饋丟出手勢ID碼,形同協助MCU/CPU過濾掉不正常雜訊與不良的手勢,不造成額外的CPU/MCU的負擔。3.多個手勢ID碼可組合出更複雜的操控手勢,簡化程式撰寫方式,省略掉反覆的記錄與計算,記憶體資源比較節省,也相對的降低整體系統的耗電量。

張協理以數據為例,若以絕對座標來計算手勢,一個手勢需要約80個畫面頁框(Frame)計算與處理,每個頁框處理約6ms,因此一個完整的手勢辨識須花費480ms的時間,若是以一顆4MHz MCU來說,每一秒鐘就有480ms時間在處理手勢運算,花了48%的執行資源,負擔實在太重;即使用400MHz MCU/CPU,每一秒仍需要花4.8ms來處理手勢運算,浪費近0.5%的執行資源。

若導入硬體手勢ID辨識,僅花8個畫面頁框就能產生出一個手勢ID碼,以PS/2介面回應速度12.5ms計算,僅12.5ms * 8=100ms=0.1秒即可求出一個手勢ID碼,一秒鐘可產生10個手勢ID碼;若導入400MHz MCU/CPU,約200個指令處理一個手勢ID碼,則處理時間約為1/400MHz * 200 (instructions) = 500ns,每一秒鐘要處理的總時間為10 * 500ns = 5us。

以硬體辨識手勢ID碼跟座標辨識演算法來看,其CPU佔用時間比為5us : (5us+4.8ms)≒1:1000;即使用4MHz的MCU/CPU,其CPU佔用時間比一樣為500us : (500us+480ms) ≒1:1000。由此可見硬體辨識手勢ID碼所節省的執行時間效益,以及在記憶體節省與功耗上的優勢。