王帥卿,楊 帆,華 中
(1.河北工業(yè)大學(xué) 電子信息工程學(xué)院,天津 300401;2.天津鉑創(chuàng)國茂電子科技有限公司,天津 300384)
?
機頂盒遙控器的鼠標(biāo)模式設(shè)計
王帥卿1,楊帆1,華中2
(1.河北工業(yè)大學(xué) 電子信息工程學(xué)院,天津 300401;2.天津鉑創(chuàng)國茂電子科技有限公司,天津 300384)
摘要:多數(shù)機頂盒上只提供上下左右的滑動方式在不同選項之間選擇,而設(shè)計優(yōu)化了一種新的方式,該方式可以讓機頂盒的用戶做到定點選擇。該方式是利用一種多功能觸屏遙控器實現(xiàn)的。遙控器內(nèi)部由單片機做主控芯片,采集觸摸屏的數(shù)據(jù)并判斷用戶操作的當(dāng)前狀態(tài),如果是滑動操作再由量化算法計算出移動距離的量化結(jié)果。最后,自定義一種紅外協(xié)議,將數(shù)據(jù)通過這種紅外協(xié)議發(fā)送給機頂盒,以達到控制機頂盒的目的。實驗結(jié)果表明遙控器的平均正確操作率在95%以上,而且定位精度和有線鼠標(biāo)接近,易操作性良好。
關(guān)鍵詞:觸摸屏遙控器;鼠標(biāo)模式;機頂盒控制;紅外協(xié)議
智能機頂盒或者網(wǎng)絡(luò)機頂盒等智能設(shè)備已經(jīng)進入了大眾生活[1]。為了能夠更加方便地使用機頂盒遙控器控制機頂盒,在遙控器上添加了鼠標(biāo)模式。目前,電腦上的鼠標(biāo)已經(jīng)近乎完美,而將這一工具用在遙控器上控制機頂盒才剛剛開始。目前,國內(nèi)外市場上應(yīng)用較多的是按鍵鼠標(biāo),按鍵鼠標(biāo)是在原來的遙控器上附加的一種功能,靠按鍵被按下的時間長短區(qū)分鼠標(biāo)指針的移動速度。這樣的鼠標(biāo)模式和傳統(tǒng)遙控器合并,按鍵較多,使用不方便。而在鼠標(biāo)遙控器開發(fā)設(shè)計中,比較熱門的要數(shù)空中飛鼠,空中鼠標(biāo)是利用陀螺儀感應(yīng)人手的動作,得出鼠標(biāo)指針的移動方向和距離的一種工具[2-3]。而且這類鼠標(biāo)多采用2.4 GHz無線技術(shù),輻射高,且在第一次使用時必須要經(jīng)過碼率配對過程;電池供電,使用成本高[4]。
本文所設(shè)計的鼠標(biāo)模式是基于一種多功能觸屏遙控器設(shè)計的,用戶可以在遙控器上選擇鼠標(biāo)模式,并通過對觸屏遙控器的點擊、滑動和長按等操作,將操作數(shù)據(jù)通過紅外協(xié)議傳輸?shù)綑C頂盒,實現(xiàn)對機頂盒的控制。
1鼠標(biāo)模式硬件平臺
現(xiàn)在市場上流行的遙控器鼠標(biāo)模式是基于傳統(tǒng)按鍵式遙控器開發(fā)的,鼠標(biāo)模式的人機交互很不方便,也很少被用到;而人們又不太習(xí)慣使用空中鼠標(biāo)。本文設(shè)計的觸摸屏遙控器是全觸屏控制鼠標(biāo),就像便攜式計算機的觸摸板,控制方便。觸摸屏是一種流行的大眾人機接口[5]。觸摸屏上分區(qū)域畫出了操作區(qū)域和功能觸摸鍵。使用時,用戶在規(guī)定區(qū)域完成操作就可以控制對應(yīng)機頂盒。這樣的觸摸屏遙控器具有諸多優(yōu)點:
1)由單片機開發(fā),成本更低廉;
2)手掌大小的面積,產(chǎn)品更輕便;
3)鼠標(biāo)模式只有4個功能觸摸鍵和兩個操作區(qū),更易學(xué)易用;
4)功能由軟件編程實現(xiàn),可重開發(fā);
5)觸摸屏可印刷,可定制;
6)充電式電池供電,環(huán)保省電,使用成本低[5]。
圖1是觸屏遙控器的硬件平臺,本平臺采用導(dǎo)電油墨觸摸屏,由觸控處理模塊將屏幕采到的數(shù)據(jù)信息經(jīng)過一系列算法處理后傳輸給單片機CPU,CPU經(jīng)過對信息的篩選處理,決定是否發(fā)送紅外數(shù)據(jù)和發(fā)送什么數(shù)據(jù)。
圖1 硬件平臺
控制器采用HAV1007型號單片機,此款單片機集成C*Core和觸控芯片于一身,可以直接連接觸摸屏,是一款專門為觸屏設(shè)備設(shè)計的功能強大的單片機。
2鼠標(biāo)模式軟件設(shè)計
整個鼠標(biāo)的實現(xiàn)可以分為3個步驟:采點處理,狀態(tài)機,紅外發(fā)送。3個模塊分3個函數(shù)模塊,其中以狀態(tài)機為主體函數(shù),完成操作判斷和作出回應(yīng)。由于機頂盒多是采用NEC紅外協(xié)議,所以紅外發(fā)送模塊也采用NEC紅外協(xié)議,以便和機頂盒對接。
2.1采點處理
采點處理的緩沖器是專門為了配合觸屏遙控器而設(shè)計的。采用定長數(shù)組循環(huán)存放信息,這樣可以節(jié)約單片機內(nèi)存。采點處理過程把一個定長的數(shù)組作為緩沖器,記錄坐標(biāo)信息有效點個數(shù)和總點的個數(shù)并標(biāo)記當(dāng)前點是否有效。這里的無效點是指第一次操作之后,等待是否有第二次操作時的(0,0)點。為了便于統(tǒng)一管理,不存放無效點坐標(biāo)信息,而將無效點的個數(shù)存放在x坐標(biāo)的位置,無效點后接有效點標(biāo)志存放在y坐標(biāo)的位置。這樣也節(jié)省了存儲空間。此外,標(biāo)記信息也能起到計數(shù)的作用。每一個坐標(biāo)的標(biāo)記信息都是16位長的數(shù),用32 768(215,是16位二進制數(shù)可表示范圍的一半)以上的數(shù)字表示有效點標(biāo)志,以下的數(shù)字表示無效點標(biāo)志。采集到新點時從0或32 768開始加1記錄標(biāo)志信息。經(jīng)過對點的標(biāo)識、分類等預(yù)處理后放入緩沖器。連續(xù)的采點將循環(huán)的存儲在緩沖器當(dāng)中,以這樣邊采點邊由其他模塊讀取點信息的方式,完成采點處理的操作。圖2是緩沖器流程圖。
圖2 緩沖器流程圖
2.2狀態(tài)機
壯態(tài)轉(zhuǎn)換是整個鼠標(biāo)模式的關(guān)鍵,也是軟件部分的主體。用軟件狀態(tài)機實現(xiàn),其下分為:空閑態(tài)(G_IDLE)、觸摸態(tài)(G_T)、滑動態(tài)(G_DM)、長按態(tài)(G_LP)、單擊提起態(tài)(G_SC_UP)和雙擊觸摸態(tài)(G_DS_T)等狀態(tài)。不同操作對應(yīng)不同狀態(tài),用戶完成想要的操作,遙控器就可以發(fā)生紅外數(shù)據(jù)。
如圖3的狀態(tài)跳轉(zhuǎn)圖。沒有動作時狀態(tài)機處于空閑態(tài)。當(dāng)開始有新的觸摸點輸入時,狀態(tài)機就從空閑態(tài)跳入觸摸態(tài),再根據(jù)接下來的點信息判斷是滑動態(tài)、長按態(tài)還是單擊提起態(tài)。如果以后的點符合滑動判斷,則進入滑動態(tài),發(fā)送紅外信息;如果采集到的坐標(biāo)點在一個閾值范圍內(nèi)且時間夠長,則進入長按態(tài),然后發(fā)生長按對應(yīng)的鍵值;如果采集到無效點,則進入單擊提起態(tài)。在單擊提起態(tài)會等待一段時間,一段時間之內(nèi)有新坐標(biāo)點則進入雙擊觸摸態(tài),否則發(fā)出單擊動作的紅外鍵值并返回空閑態(tài)。雙擊觸摸態(tài)時,如果有滑動或長按發(fā)生,則進入滑動態(tài)或長按態(tài)。如果又采集到無效點,則完成雙擊操作。雙擊操作需要判斷兩次觸摸屏幕的坐標(biāo)點符合不符合閾值范圍內(nèi),符合則發(fā)出雙擊動作對應(yīng)的紅外鍵值,否則按第二次觸摸的點發(fā)出單擊動作的紅外鍵值并返回空閑態(tài)。圖4清楚地列出了各個狀態(tài)的流程圖。下面以是否發(fā)生滑動的判斷方法為例分析狀態(tài)機的狀態(tài)跳轉(zhuǎn)過程。
圖3 狀態(tài)轉(zhuǎn)換圖
圖4 各狀態(tài)流程圖
狀態(tài)機決定鼠標(biāo)做出什么動作,然而鼠標(biāo)能移動到準(zhǔn)確的位置,能擁有良好的用戶體驗的因素是滑動的判斷和量化。而且滑動的判斷和量化是相互影響的。主要體現(xiàn)在:
1)當(dāng)滑動判斷閾值較大時,每次判斷成一次滑動采集到的點就多;反之,點少。而慢滑時的量化又是根據(jù)點的多少得出結(jié)果的。所以滑動判斷影響量化結(jié)果。
2)量化結(jié)果較小時,紅外發(fā)送的數(shù)據(jù)較小,鼠標(biāo)指針移動較??;反之,較大。滑動結(jié)果就不理想。所以量化影響滑動的效果。
2.2.1滑動判斷方法
滑動判斷的方法較簡單。滑動判斷模塊的判斷方法是根據(jù)連續(xù)有效觸摸點的距離差是否大于滑動判斷閾值,大于該閾值則有滑動發(fā)生,否則沒有滑動發(fā)生?;瑒优袛嚅撝凳峭ㄟ^輸入變量傳給滑動判斷函數(shù)的,所以怎樣才算是滑動不是滑動判斷模塊決定,而是在狀態(tài)機調(diào)用滑動判斷函數(shù)時,由狀態(tài)機的當(dāng)前狀態(tài)決定的。主要有觸摸態(tài)(G_T)和滑動態(tài)(G_DM)等調(diào)用。如果是觸摸態(tài)調(diào)用,滑動判斷閾值的設(shè)定是為了區(qū)分下一個狀態(tài)是滑動態(tài)還是長按態(tài);如果是滑動態(tài),滑動判斷閾值的設(shè)定是為了良好的用戶體驗。閾值具體的大小要通過多人多次實驗得出。這樣的滑動判斷函數(shù)不僅滿足了狀態(tài)機不同狀態(tài)的需求,而且符合大多數(shù)人的使用習(xí)慣,具有普適性。
2.2.2鼠標(biāo)量化算法
鼠標(biāo)量化就是將用戶手指在遙控器上滑動的速度和距離用合適的數(shù)據(jù)表示出來;即屏幕鼠標(biāo)指針移動的方向和距離是由遙控器觸摸屏采集點的變化量和變化速度決定的。
適合人手的遙控器的體積較小,因此,用戶在控制鼠標(biāo)慢滑的時候,滑動判斷模塊判斷出的每一次滑動的坐標(biāo)變化量和觸摸屏上的移動速度和距離并沒有明顯的關(guān)系,利用距離不能有效區(qū)分鼠標(biāo)指針應(yīng)有的移動距離。但是,采集到點的數(shù)目卻和移動速度和距離有關(guān)系。因此,鼠標(biāo)量化可分作兩部分理解:慢滑時根據(jù)滑動判斷模塊判斷出一次滑動時的總坐標(biāo)點數(shù)量化出鼠標(biāo)指針的移動距離;快滑時再根據(jù)滑動距離量化出屏幕鼠標(biāo)指針移動距離。雖然鼠標(biāo)量化分為快滑和慢滑,卻可以用一個公式表示單方向的移動量。
鼠標(biāo)量化得出的數(shù)據(jù)結(jié)果是由兩個變化量計算出的。一個是一次滑動的點數(shù),一個是一次滑動的距離,也就是說量化結(jié)果和點數(shù)和距離有關(guān)系。量化函數(shù)將橫縱軸分開量化,先處理縱軸采集的數(shù)據(jù),然后再量化橫軸[6]。設(shè)橫向變化量為dx,縱向變化量為dy,每次判斷成滑動時的總點數(shù)為p。將量化結(jié)果存儲在結(jié)構(gòu)體s中,則在x軸和y軸的量化結(jié)果分別為
(1)
(2)
公式中的系數(shù)4和條件中的系數(shù)4是根據(jù)理論計算和經(jīng)驗修正得出。這樣的處理方式是將每次滑動的距離用每次滑動的點數(shù)轉(zhuǎn)換壓縮,以達到良好用戶體驗的效果。在單位距離內(nèi),最終的量化結(jié)果和滑動時的手指速度是成正比的。以x軸為例,慢滑時dx為50左右,函數(shù)圖像類似圖5a;快滑時p等于2或3,函數(shù)圖像是線性的,如圖5b。
圖5 量化結(jié)果函數(shù)圖
2.3紅外協(xié)議
紅外發(fā)送模塊發(fā)送的數(shù)據(jù)包括兩個16位二進制數(shù)。如果是確定、返回或者開關(guān)機或者翻頁的鍵值,則發(fā)送的兩個16位二進制數(shù)一個是固定的系統(tǒng)碼,一個是鍵值。機頂盒收到對應(yīng)鍵值就給出回應(yīng)。如果是滑動的量化結(jié)果,則一個表示橫軸移動量,一個表示縱軸移動量。兩軸移動量配合得出屏幕鼠標(biāo)指針的平面移動方向和距離[7]。
圖6中,以單軸量化結(jié)果為例分析了滑動時屏幕鼠標(biāo)指針的移動距離的二進制量化結(jié)果鍵值的權(quán)重和符號位。當(dāng)相應(yīng)數(shù)據(jù)位為1,表示屏幕鼠標(biāo)指針要移動對應(yīng)權(quán)重的距離。+/-位是符號位,“1”表示結(jié)果為負。標(biāo)“0”的位是固定標(biāo)志位,表示當(dāng)前數(shù)據(jù)代表鼠標(biāo)偏移量。
圖6 量化結(jié)果
將鍵值或滑動的量化結(jié)果通過紅外模塊發(fā)送給機頂盒,則機頂盒就根據(jù)接收的數(shù)據(jù)作出回應(yīng)。這樣就形成了遙控器鼠標(biāo)模式的一組紅外協(xié)議。
3實驗結(jié)果
通過不斷地對觸摸屏和軟件改進調(diào)優(yōu),最終實驗得出了理想的效果。圖7和圖8分別是一次向下翻頁和一次右上到左下的快速滑動效果,慢速滑動也可以達到毫米級的滑動??梢姺摵蛡鹘y(tǒng)按鍵遙控器效果相同,滑動比傳統(tǒng)按鍵遙控器更方便,更符合使用習(xí)慣。表1是測試得出的統(tǒng)計表,平均正確判斷率在95%左右。
圖7 翻頁效果(照片)
圖8 快滑效果(照片)
對于用戶來說,評價一款鼠標(biāo)的優(yōu)劣需要考慮定位精度、平滑性、易操作性[8]。本文的量化成功地做到移動量受滑動速度和滑動距離兩個因素影響。理論上,紅外數(shù)據(jù)的量化結(jié)果可以到達1個像素點。實際應(yīng)用中也可以到達毫米級的移動,完全滿足用戶需求。由于遙控器是無線傳輸數(shù)據(jù),而且是紅外傳輸,所以速度較慢,采樣速度慢,平滑性欠佳。
表1 測試統(tǒng)計表
4結(jié)論
無線紅外協(xié)議的數(shù)據(jù)傳輸速率較慢[9],但在機頂盒遙控器上實現(xiàn)的鼠標(biāo)模式用紅外傳輸數(shù)據(jù)還是取得了較好的結(jié)果。以后,智能機頂盒和網(wǎng)絡(luò)機頂盒的普及率會越來越高,遙控器也會越來越多,利用遙控器實現(xiàn)鼠標(biāo)模式也會與時俱進,更加增大人們生活的便捷性。另外,遙控器的用戶體驗和操作的成功率和觸摸屏的靈敏度有直接關(guān)系,也和操作區(qū)域和觸摸功能的大小有一定關(guān)系。
參考文獻:
[1]LO S C,YU T H,TSENG C C. A remote control and media-sharing system using smart devices[J]. Journal of Systems Architecture,2004(60):671-683.
[2]郭斌, 羅少鋒, 李小東.基于nRF24L的帶鼠標(biāo)功能的電視遙控器[J]. 電子產(chǎn)品世界, 2011(6):49-51.
[3]韓近躍. 空中鼠標(biāo)的設(shè)計與實現(xiàn)[D]. 北京:北京工業(yè)大學(xué),2009.
[4]LI C Y,LI M.Intelligent remote control design research[C]//Proc. 2011 IEEE 12th International Conference on Computer-Aided Industrial Design & Conceptual Design.[S.l.]:IEEE,2011:135-137.
[5]COHE A,HACHET M. Beyond the mouse:understanding user gestures for manipulating 3D objects from touchscreen inputs[J]. Computers & graphics,2012(36):1119-1131
[6]FARSHCHI S,NEZHADHOSEINI S,MOHAMMADI F. A novel implementation of G-Fuzzy logic controller algorithm on mobile robot motion planning problem[J]. Computer and information science,2011,4(2):102-114.
[7]周彬,葉以正,李兆麟. 基于二維測試數(shù)據(jù)壓縮的BIST方案[J]. 計算機輔助設(shè)計與圖形學(xué)學(xué)報, 2009,21(4):481-492.
[8]滕莉. 空中鼠標(biāo)自由“掌握”——詳解空中鼠標(biāo)技術(shù)方案[J]. 個人電腦, 2010(2):78-79.
[9]WU Y C,CHEN M J,CHANG B S,et al. A low-cost web-based infrared remote control system for energy management of aggregated air conditioners[J]. Energy and buildings,2014(72):24-30.
責(zé)任編輯:許盈
Mouse mode of remote controller for set-top box
WANG Shuaiqing1, YANG Fan1, HUA Zhong2
(1.SchoolofElectronicandInformationEngineering,HebeiUniversityofTechnology,Tianjin300401,China;2.TianjinBotroElectronicTechnologyDevelopmentCo. ,Ltd.,Tianjin300384,China)
Abstract:Most remote controllers of set-top box could only make a choice between the four options -- sliding up or down or left or right. In this paper, a new way is designed and optimized. In this way, users can control set-top boxes to do fixed-point selection. This device is based on the multi-functional touch-screen remote controller that is dominated by single-chip microcomputer. Microcontroller unit (MCU) collects information from touch-screen, and then sends a message after receiving the state of user’s operation. If current state is slide state, the message would be calculated by quantization algorithm. Finally, the final data is sent to set-top boxes via an infrared protocol that is defined in advance. So users can control the mouse pointer displayed on screen of the set-top box, and do fixed-point selection by operating the touch-screen remote controller. The experimental results show that the average correct rate of operation of the remote controller is above 95% and the positional accuracy is close to wired mouse.
Key words:touch-screen remote controller; mouse mode; set-top box control; infrared protocol
中圖分類號:TN835
文獻標(biāo)志碼:A
DOI:10.16280/j.videoe.2016.05.002
作者簡介:
王帥卿(1990— ),碩士生,主要從事智能信息處理研究工作;
楊帆(1966— ),教授,主要從事圖像處理、模式識別及電路與系統(tǒng)等方面的研究工作,為本文通訊作者。
收稿日期:2015-11-01
文獻引用格式:王帥卿,楊帆,華中. 機頂盒遙控器的鼠標(biāo)模式設(shè)計[J].電視技術(shù),2016,40(5):4-8.
WANG S Q,YANG F,HUA Z. Mouse mode of remote controller for set-top box[J].Video engineering,2016,40(5):4-8.