陳 瑤 邱開金 徐 海 朱凡超
(西南大學計算機與信息科學學院 軟件學院,重慶北碚 400715)
現實生活中,隨著手機的日益普及,撥打電話成了我們生活中不可缺少的行為。傳統(tǒng)的手機交互過多的依賴視覺來完成,因此使得盲人和有視覺障礙的人幾乎無法使用普通的手機。市面上的盲人手機,比如Squibble手機, Universal Phone手機, 獨特盲文鍵盤的Tactility手機等,大多采用通過觸摸屏進行平面化盲文信息或者采用盲點設計,使用者直接通過觸摸辨別輸入信息等方式操作手機,這種手機需要專門的設備才能完成,售價一般比普通手機高;也有通過語音識別來進行手機的操作的盲人手機[1],通過語音控制與人機交互說出號碼自動撥打電話,但是這種手機需要盲人能準確發(fā)音輸出,目前,語音識別準確率不是很高,從而使這種手機實用性不高。文獻[2]提出了以交互式模式對盲人手機界面的輸入方式進行了分析,提出了盲人手機輸入方案,但方案也需要通過觸摸布萊葉盲字來進行輸入。
本文實現的一種盲人手機是以重力感應器為基礎的。本專利設計是以重力感應器為基礎的。重力感應是利用壓電原理實現的[3][4],是通過測量內部一片重物(重物和壓電片做成一體)的重力在正交兩個方向的分力大小,來判定水平方向。早在幾年前就有了重力感應器。如今,縱觀主流智能機,重力感應器已經成為了很多手機的標配。重力感應技術早先是通過硬盤保護功能逐漸被消費者所熟知,一旦通過重力加速度偵測到意外,能在摔落的瞬間將磁頭撤至安全停泊區(qū),有效確保產品安全[4].現在重力感應器主要用游戲開發(fā)中,例如極品飛車系列、現代戰(zhàn)爭系列等等,在脫離了傳統(tǒng)單一的觸控式操作之后,這種新玩法顯然能給用戶帶來新鮮的操作體驗。在手機操作方面也有一些應用,比如屏幕自動旋轉、搖一搖找好友、各種甩歌操作。以重力感應達到撥打電話,目前尚沒有應用。本文通過使用重力感應器,來進行手機狀態(tài)編碼從而達到撥打電話,實現了基于重力感應器無視覺盲人手機。
本論文手機的操作模式如下:用手作用于手機,晃動手機,改變手機狀態(tài),以手機狀態(tài)的改變作為輸入,對于無視覺人,輸入的結果以語音的方式通知操作者,整個過程中不需要眼的參預。對于正常人,也可以屏幕方式通知輸入結果,以體驗新的輸入方式。
圖2 本論文手機操作模式
本論文手機總體結構如圖3所示,手機輸入模塊通過對重力感應器的檢測,完成手機狀態(tài)識別,并對手機狀態(tài)進行編碼,轉化為對手機的輸入操作。前臺應用模塊在手機輸入模塊的協同下,完成各種應用,在不同的應用下,手機狀態(tài)編碼不同。后臺監(jiān)聽模塊完成電話的接收;語音模塊和屏幕輸出模塊實現輸出,設置模塊可以改變輸出的方式,輸出方式有三種:只語音輸出,只屏幕輸出和語音和屏幕一起輸出。控制模塊是系統(tǒng)的核心,完成對各模塊的控制,狀態(tài)的改變等功能。
圖3 本論文手機總體結構
2.1.1 手機重力感應器檢測模塊
本論文手機使用線加速度傳感器,并結合三軸陀螺儀實現三維測量。三軸重力感應按測量方向分為X,Y,Z軸,X軸是手機底端左側到右側的方向,Y坐標軸是手機底端到頂端的方向,z坐標軸正走向則是面向使用者的方向。當重力改變時,便得到各軸上的x,y,z值也會隨著改變。當手機屏幕向上(z軸朝天)水平放置的時侯,(x,y,z)的值分別為(0,0,10);手機屏幕向下(z軸朝地)水平放置的時侯,(x,y,z)的值分別為(0,0,-10);手機屏幕向左側放(x 軸朝天)的時候,(x,y,z)的值分別為(10,0,0);手機豎直(y 軸朝天)向上的時候,(x,y,z)的值分別為(0,10,0);手機重力感應器檢測模塊完成各軸上的x,y,z值的檢測。
2.1.2 手機狀態(tài)檢測模塊
對重力感應器檢測模塊完成各軸上的x,y,z值的檢測進行識別,分類出手機的狀態(tài)。為了提高分類的準確性和魯棒性,分成以下六個大類正豎、倒豎、左橫、右橫, 左斜,右斜六種狀態(tài),如圖4所示
圖4 手機位置狀態(tài)圖
左斜:x變化為負,變化幅度大于某一值,y變化及z變化幅度小于某一值。
右斜:x變化為正,變化幅度大于某一值,y變化及z變化幅度小于某一值。
左橫:z變化為正,變化幅度大于某一值,x變化及y變化幅度小于某一值。
右橫:z變化為負,變化幅度大于某一值,x變化及y變化幅度小于某一值。
正豎:y變化為正,變化幅度大于某一值,x變化及z變化幅度小于某一值。
倒豎:y變化為負,變化幅度大于某一值,x變化及z變化幅度小于某一值。
每變化一次,要回到初始位置,才算完成一次狀態(tài)變化。這六種狀態(tài)可分辯能力不同,在手機使用中,把分辯能力最好的狀態(tài)用在最重要的輸入上。
2.1.3 狀態(tài)編碼模塊
可靠分辨的手機位置狀態(tài)有六種,但是手機按鍵輸入有十多種,所以需要對六種手機狀態(tài)進行編碼與復用。狀態(tài)編碼模塊完成手機位置的編碼與復用。
2.2.1 應用模塊切換
前臺應用模塊如圖3所示,共有三個模塊: 撥號模塊、解屏模塊、 設置模塊,要選擇切換這三個模塊,設計四個鍵,一是左移鍵,右移鍵,確定鍵, 撥號鍵,分配如下表1所示:
表1 頂層模塊按鍵編碼表
進入前臺應用模塊,初始為撥號模塊,按確定鍵,將進入撥號模塊,按左移鍵和右移鍵使當前模塊發(fā)生左移和右移,移一次,語音模報一次當前模塊名;按確定鍵將執(zhí)行當前模塊操作;在任意狀態(tài)下,按撥號鍵將回到撥號模塊位置。
2.2.2 撥號模塊
撥號模塊為狀態(tài)2,共需要10個數字鍵,1個確定鍵,1個刪除鍵和一個發(fā)送鍵。采用手機位置狀態(tài)編碼與復用實現,如表2及表3所示:
表2 撥號模塊數字0~9的編碼
表3 撥號模塊功能鍵編碼
輸入:輸入1~3,需要兩次位置變化,比如輸入1,先左橫,再正豎;輸入完后,根據設置將在屏幕或語音播報當前輸入值。輸入0及4~9需要三次位置變化,如輸入4,先左橫,再左橫,再正豎。發(fā)送:在輸入語音播報或屏幕顯示出數字后,右斜可發(fā)送電話。刪除:在輸入語音播報或屏幕顯示出數字后,左斜可刪除剛輸入的電話號碼。
后臺監(jiān)聽有電話接聽模塊,當有電話進來時,接聽模塊將中斷當前的操作,使用者有兩種選擇,接聽或不接聽,需要兩個手機位置狀態(tài)就可以實現。
本文研究并實現了一種基于盲人手機操作模式,主要特點:(1)實現了基于重力感應器的盲人手機操作模式,以手晃動手機,以耳接收響應。 (2)實現了基于重力感應器的手機位置狀態(tài)檢測,設計出了比較可靠,分辯力高的六種手機位置狀態(tài)。(3)通過手機位置狀態(tài)編碼實現了電話的撥打,解屏等手機應用功能。
[1]王璟珣, 滕召勝, 高云鵬, 王一,李聰聰,嵌入式盲人手機語音識別與控制系統(tǒng)設計[J], 《計算機測量與控制》, 2009年 10期
[2]王琳琳, 方志剛, 徐潔, 盲人手機輸入方案的交互設計和評估[J],《計算機工程與設計》, 2007年 24期
[3]ZW,手機更智能——重力感應和電子羅盤技術[J],電腦迷,《PC Fan》, 編輯部郵箱 2011年 21期
[4]郭小梅, 移動設備中的重力感應驅動程序開發(fā)[J], 《單片機與嵌入式系統(tǒng)應用》, 2011年 9期獲獎項目:第七屆全國信息技術應用水平大賽團體賽“中興通訊杯“全國二等獎獲獎名稱:“Magic Gravity” 頒發(fā)部門:教育部